Python discord.py阅读完整信息
问题描述:
我正在使用discord.py来制作一个discord机器人。我想在用户提到的2个数字之间生成一个随机数。因此,如果用户键入%rand 1 9
,我想机器人1和9之间的随机整数返回,所以说4 这里是我到目前为止的代码:Python discord.py阅读完整信息
async def on_message(message):
x = str(1)
y = str(2)
if message.content.startswith('%rand ' + x + y):
NumberX = int(x)
NumberY = int(y)
msg = "Random Number Is: " + str(random.randint(NumberX,NumberY))
await client.send_message(message.channel, msg)
但是,这是行不通的。我不太明白我出错的地方。我无法在其他地方找到其他解决方案。 我想我需要强制机器人阅读完整的信息或类似的东西。任何帮助将不胜感激。先谢谢你。
答
问题来自您的if语句从未实际触发的事实。你正在检查它是否以“%rand 12”开始,这不是你正在寻找的。这里是你的代码应该是什么样子:
async def on_message(message):
if message.content.startswith('%rand '):
vals = message.content.split(" ")
NumberX = int(vals[1])
NumberY = int(vals[2])
msg = "Random Number Is: " + str(random.randint(NumberX,NumberY))
await client.send_message(message.channel, msg)
另外,不要忘了import random
才能使用该功能。
你在告诉它'如果message.content.startswith('%rand 12'):'那是你想要的吗? –