Discord.py的on_message_edit事件触发参数不匹配TypeError如何解决?
问题原因
discord.py的on_message_edit事件触发时,框架会默认向回调函数传递2个位置参数:
- 第一个为消息修改前的对象
before - 第二个为消息修改后的对象
after
你当前定义的on_message_edit函数仅声明接收1个参数,参数数量不匹配就会触发该报错,与你使用Bot还是Client实例、是否开启消息intents无关联。
解决方法
修改事件函数的参数定义,匹配框架传入的参数数量即可,即使你暂时不需要用到修改前的消息对象,也需要留好参数占位:
@bot.event async def on_message_edit(before, after): # 此处补充你的业务逻辑即可 pass
如果你完全不需要使用修改前的消息对象,也可以用Python通用的占位符_声明该参数为废弃不用的参数,写法如下:
@bot.event async def on_message_edit(_, after): # 此处仅使用修改后的消息对象after处理逻辑 pass
内容的提问来源于stack exchange,提问作者DaWise_Weirdo
相关产品推荐
相关产品推荐

