我想知道是否可以在 discord.py 的 cog 中使用 @bot.event。我试过做
@self.bot.event
async def on_member_join(self, ctx, member):
channel = discord.utils.get(member.guild.channels, name='general')
await channel.send("hello")
在我的齿轮类中,但我得到了错误
NameError: name 'self' is not defined
即使我在我的 __init __ 中定义了 self.bot。
在 cogs 中是否有不同的 bot.event 处理方式,还是根本不可能?
原文由 qspitzer 发布,翻译遵循 CC BY-SA 4.0 许可协议
要从 新式 cog 注册事件,您必须使用
commands.Cog.listener
装饰器。下面是转换为新样式的 mental 示例: