Python discord.py阅读完整的消息

我正在使用discord.py制作一个discord机器人 . 我想在用户提到的2个数字之间生成一个随机数 . 因此,如果用户键入 %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)

但是,它不起作用 . 我不太明白我哪里错了 . 我无法在其他地方找到其他解决方案 . 我假设我需要强制机器人阅读完整的消息或类似的东西 . 任何帮助将不胜感激 . 先感谢您 .

回答(1)

2 years ago

问题来自于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 .