如何从特定选项列表中可靠地获取用户输入作为变量不和谐。py?

2024-04-28 23:04:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在一个不和谐的机器人里玩猜谜游戏。我已经完成了游戏,但不知道如何通过不和谐检索用户输入。 我知道wait峎u-for方法可以得到特定的响应。问题是它只检查特定的字符串。我正在寻找方法来检查一个可能的字符串列表,并存储其中一个检查为真的。(例如:如果其中一个字符串用作存储变量的输入)

possible_numbers = [i for i in range(1,51)]
def check(m):
    if m.content in possible_numbers:
        return m.content == m.content and m.channel == channel
guess = await client.wait_for('message', check=check, timeout=120.0)

我希望这些代码能够成功地检查m.content是否在可能的号码中,如果是的话,只需检索m.content并将其存储为“guess”。 目前它只是输出什么,如果我把它改成:

^{pr2}$

它只接受它检查的直接字符串。在


Tags: 方法字符串用户in游戏列表forcheck
2条回答

possible_numbers = [str(i) for i in range(1,51)]

不能将intstring与{}进行比较。字符串只包含So。在

你也许可以有一个方法来解释他们发布的整个消息来触发命令?在

@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

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

相关问题 更多 >