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

Python开发Discord机器人报错:'NoneType'对象无add_reaction属性

解决Discord机器人的AttributeError错误

错误原因

interaction.response.send_message() 是发送交互初始响应的方法,它执行后返回的是 None,而非发送出去的消息对象。你把它的返回值赋值给了 msg,后续调用 msg.add_reaction() 自然会触发 NoneType 对象没有 add_reaction 属性的错误。

解决方案

方法一:获取初始响应的消息对象

发送初始响应后,通过 interaction.original_response() 方法获取到发送出去的消息实例,再调用添加反应的方法:

embed = discord.Embed(title=f'Topic: {tema.capitalize()}',
                      description='The word has ' + str(len(secretWord)) + ' letters',
                      color=discord.Color.yellow())
# 发送初始响应
await interaction.response.send_message(embed=embed)
# 获取发送的消息对象
msg = await interaction.original_response()
# 添加反应(替换为正确的emoji格式,示例用数字1的表情)
await msg.add_reaction('1️⃣')

额外注意:表情格式问题

你代码里写的 'regional_indicator_1:' 不是有效的表情格式,Discord无法识别。如果是系统默认表情,直接使用对应的emoji字符(比如数字1的表情是 '1️⃣',区域指标A是 '🇦');如果是自定义表情,需要用 discord.PartialEmoji(name="regional_indicator_1", id=表情ID) 来引用。

内容的提问来源于stack exchange,提问作者galileo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 00:38:13