You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 06:45:03