Python discord.py 阅读全文
Posted
技术标签:
【中文标题】Python discord.py 阅读全文【英文标题】:Python discord.py read full message 【发布时间】:2017-11-23 10:28:17 【问题描述】:我正在使用discord.py 来制作discord 机器人。我想在用户提到的两个数字之间生成一个随机数。因此,如果用户键入%rand 1 9
,我希望机器人返回一个介于 1 和 9 之间的随机整数,比如 4。
到目前为止,这是我的代码:
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 message.content.startswith('%rand 12'):
这是你想要的吗?
【参考方案1】:
问题在于您的 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
以使用该功能。
【讨论】:
我收到以下错误:AttributeError: 'Message' object has no attribute 'split'
等等别担心,这只是使用message.conent.split
而不是message.split
的情况,只是,在你的答案中编辑它......以上是关于Python discord.py 阅读全文的主要内容,如果未能解决你的问题,请参考以下文章