在 discord.py 中手动触发事件
Posted
技术标签:
【中文标题】在 discord.py 中手动触发事件【英文标题】:Manually trigger an event in discord.py 【发布时间】:2021-05-07 19:28:24 【问题描述】:有没有办法手动触发像on_message
或on_command_error
这样的事件?
类似于手动引发异常
【问题讨论】:
【参考方案1】:是的,使用Bot.dispatch
方法(这对于创建自定义事件很有用),注意您必须手动传递参数
bot.dispatch("message", message) # You need to pass an instance of `discord.Message`
bot.dispatch("command_error", ctx, error) # Remember to pass all the arguments
自定义事件示例
@bot.command()
async def dispatch_custom(ctx):
bot.dispatch("custom_event", ctx)
@bot.event
async def on_custom_event(ctx):
print("Custom event")
没有关于它的文档,所以我不能给你链接,如果你想了解更多,请查看source code
【讨论】:
哇,谢谢!为什么官方文档上没有? 我也不知道可以创建一个突出显示某些行的 github 链接以上是关于在 discord.py 中手动触发事件的主要内容,如果未能解决你的问题,请参考以下文章
在 discord.py 中,on_message 不会为一个公会触发