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