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 阅读全文的主要内容,如果未能解决你的问题,请参考以下文章

discord.py Spotify 似乎啥也没做

强行染指:贺总情有不甘全章节免费在线阅读 吴相宜贺以盛小说完结版

如何删除discord.py中的消息[重复]

使用paramiko监控Oracle alert日志

Oracle参数解析(nls_comp)

Discord bot 添加对消息 discord.py 的反应(无自定义表情符号)