Python 如何在discord.py中等待多种类型的事件?
当使用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'
命令.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
。查看文档了解更多信息
参考资料:
-您似乎无法指定要停止等待的事件,因此这对我来说不起作用。然而,它确实回答了我提出的问题。非常感谢。