繁体   English   中英

我试图让我的 discord 机器人等待用户在执行原始命令后发送另一条消息

[英]I'm trying to get my discord bot to wait for the user to send another message after they did the original command

抱歉,如果标题没有意义,我正在制作一个 discord 机器人,我正在尝试制作一个小的 8 球命令。 我想让机器人做的是,在用户输入“$8ball”后,机器人会说“你有什么问题?” 然后等待用户输入他们的问题,然后用我为它做出的一系列响应进行响应。

@client.event
async def on_message(message):
if message.author == client.user:
   return

if message.content.startswith("$8Ball"):
   await message.channel.send("What is your question?")

(这就是我到目前为止的所有代码)

您可以尝试存储用户的 ID 并对该用户的下一条消息做出反应。

尝试这个。 question将是用户输入的内容。 它在与原始命令相同的频道中等待一条消息,并且来自执行该命令的同一用户

@client.event
async def on_message(message, author):
    if message.content.startswith('$8Ball'):
        channel = message.channel
        author = message.author
        await channel.send('What is your question?')

        def check(m):
            return m.author == author and m.channel == channel

        msg = await client.wait_for('message', check=check)
        question = msg.content

告诉我进展如何:D

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM