Python 如何在discord.py中等待多种类型的事件?

Python 如何在discord.py中等待多种类型的事件?,python,discord,discord.py,Python,Discord,Discord.py,当使用discord.py等待事件时,您可以使用命令.Bot.wait_for('message',timeout=30,check=check)或类似于'reaction\u add' 是否有方法等待消息或反应?我能想到的唯一方法是启动另一个线程,同时运行两个命令.Bot.wait_for(),但这似乎真的很糟糕 如果有一种方法允许您等待多种类型的事件,那么最好了解一下。如果有人有任何想法,请告诉我。使用commands.Bot.add\u listener(函数,'on\u message'

当使用discord.py等待事件时,您可以使用
命令.Bot.wait_for('message',timeout=30,check=check)
或类似于
'reaction\u add'

是否有方法等待
消息
反应
?我能想到的唯一方法是启动另一个线程,同时运行两个
命令.Bot.wait_for()
,但这似乎真的很糟糕


如果有一种方法允许您等待多种类型的事件,那么最好了解一下。如果有人有任何想法,请告诉我。

使用
commands.Bot.add\u listener(函数,'on\u message')
创建一个监听器,当
commands.Bot.wait\u通过或超时时,删除监听器。

您可以使用
asyncio.wait

done,pending=wait asyncio.wait([
bot.wait_for('message'),
bot.wait_for('reaction_add')
],在=asyncio.FIRST_完成时返回_)
asyncio.FIRST_COMPLETED
在至少完成一项任务时停止等待,并将其返回为
done
。查看文档了解更多信息

参考资料:
-

您似乎无法指定要停止等待的事件,因此这对我来说不起作用。然而,它确实回答了我提出的问题。非常感谢。