Python 如何使用discord.py从特定选项列表中可靠地获取用户输入作为变量?

Python 如何使用discord.py从特定选项列表中可靠地获取用户输入作为变量?,python,python-3.x,discord,discord.py,discord.py-rewrite,Python,Python 3.x,Discord,Discord.py,Discord.py Rewrite,我想在一个不和谐的机器人里做一个猜谜游戏。我已经完成了游戏,但不知道如何通过Discord检索用户输入。 我知道有一种等待方法可以得到特定的响应。问题是它只检查特定的字符串。我正在寻找一种方法来检查可能的字符串列表,并存储它检查为true的字符串。例如:如果其中一个字符串用作输入,它会将该输入存储到变量中 可能的_数=[i代表范围1,51中的i] def checkm: 如果m.内容以可能的_编号表示: 返回m.content==m.content和m.channel==channel 猜测=等

我想在一个不和谐的机器人里做一个猜谜游戏。我已经完成了游戏,但不知道如何通过Discord检索用户输入。 我知道有一种等待方法可以得到特定的响应。问题是它只检查特定的字符串。我正在寻找一种方法来检查可能的字符串列表,并存储它检查为true的字符串。例如:如果其中一个字符串用作输入,它会将该输入存储到变量中

可能的_数=[i代表范围1,51中的i] def checkm: 如果m.内容以可能的_编号表示: 返回m.content==m.content和m.channel==channel 猜测=等待客户端。等待“消息”,检查=检查,超时=120.0 我期待着类似的东西能够成功地检查m.content是否在可能的_数中,如果是这样,只需检索m.content并将其存储为guess。 目前,它只是不输出任何内容,如果我将其更改为:

def checkm: 返回m.content='1'和m.channel==channel 猜测=等待客户端。等待“消息”,检查=检查,超时=120.0 它将只接受它检查的直接字符串。

可能的\u数字=[stri for i in range1,51]


不能将int与==的字符串进行比较。因此,让列表只包含字符串。

您可能有一个方法,可以解释他们发布的整个消息以触发命令

@bot.event
async def on_message(ctx): # compute every message, not just commands
    message_being_interpreted = ctx.content.lower()
    print(message_being_interpreted ) # will print all messages
    # do things to parse it like this
    if "!guess" in message_being_interpreted:
        pass # or do stuff

如果用户应该像这样使用命令提供参数,这将非常有用!猜测17463,但您也可以这样做,这样用户只需键入类似17463的猜测,然后当他们输入正确的猜测时,它会触发一些事件。

请问您为什么返回m.content==m.content?这是我使用的代码,它检查多个频道/作者/消息:好的,谢谢,它通过响应任何数字解决了这个问题。