【问题标题】:Discord.py make the bot wait for a specific answerDiscord.py 让机器人等待特定的答案
【发布时间】:2021-10-03 02:41:38
【问题描述】:

您好,我想编写一个机器人来学习词汇,所以当我使用 -vokabel 时,机器人应该发送一个随机词汇。然后机器人应该等待一个回答,如果答案是正确的单词翻译,那么机器人应该正确发送 这是我的代码

@client.event
async def on_message(message):

    vocab_list = ["suburb",
                  "timer"]

    if message.content.startswith("-vokabeln"):
        random_vokabel = random.choice(vocab_list)
        await message.channel.send(random_vokabel)
        if random_vokabel == "suburb":
            
            if message.content.startswith("Vorort"):
                await message.channel.send('richtig')

但这行不通 因此,当机器人发送 Suburb 而我发送 Voort 时,什么也没有发生 任何人都可以帮助我如何做到这一点,让它像我想要的那样工作

【问题讨论】:

    标签: python discord discord.py


    【解决方案1】:

    尝试使用 wait_for read docs!

    【讨论】:

    • 我知道这不是适合我平台的代码,但我已经尝试过使用 wait_for 但它也不起作用所以我切换到这个,因为我认为这可能会起作用但同样的事情您将如何编写代码或其他问题,您知道 wait_for 的好教程吗?
    • 没关系,我再次尝试使用 wait_for,现在它按我想要的方式工作,谢谢您的帮助
    • 但现在我还有两个问题 1st 当答案不正确时,如何让机器人sned 错误? 2nd 当你回答错误时如何让机器人发送正确的答案
    • 代码现在是python if message.content.startswith('-vokabeln'): channel = message.channel random_vokabel = random.choice(vocab_list) await channel.send(random_vokabel) if random_vokabel == "suburb": def check(m): return m.content == 'Vorort' and m.channel == channel msg = await client.wait_for('message', check=check) await channel.send('richtig!')
    猜你喜欢
    • 2020-11-07
    • 2020-12-13
    • 2021-10-20
    • 2018-05-10
    • 2021-11-28
    • 2020-12-26
    • 2020-05-24
    • 2020-10-04
    • 2019-10-17
    相关资源
    最近更新 更多