discord bot 无法处理来自不同用户的请求

discord bot can't handle requests from different users

我正在尝试创建一个像这样按顺序进行对话的聊天机器人。这适用于一个用户,但如果另一个用户试图同时使用该机器人,它会干扰第一个用户。我知道我必须使用某种异步编程来解决这个问题,但我不确定如何解决。任何帮助将不胜感激

@client.event
async def on_message(msg):
    if msg.author.bot:
        return

    if msg.content == "hey":
        await msg.channel.send('hi')
        
        response = await client.wait_for('message')  
        


        if response.content =="how are you":
            await response.channel.send('good')
        
client.run(token)

说明

response = await client.wait_for('message') 将捕获命令执行后发送的任何消息,无论消息来自谁。

这可以通过向 wait_for 添加检查来纠正,如下面的代码所示。

代码

response = await client.wait_for('message', check=lambda message: message.author == msg.author)

参考

wait_for

lambda expressions