discord.py开发机器人添加消息反应报405 Method Not Allowed错误怎么解决
解决方法
要给消息添加emoji反应,你需要调用目标Message对象的add_reaction方法,而不是用频道发消息的方法,正确代码如下:
file_ = filename print("classifying") reaction = classify(file_) print(reaction) # 替换原有的send逻辑,给原消息添加反应 await message.add_reaction(reaction)
异常排查
如果修改后仍有报错,可以按以下顺序排查:
- 确认机器人在对应频道拥有
添加反应权限 - 确认
classify返回的emoji格式合法:- 全局默认unicode emoji直接传入字符串即可,你当前测试输出的
⛲️属于这类,不需要额外处理 - 如果是服务器自定义emoji,需要传入格式为
<:emoji名称:emoji数字ID>的字符串,或直接传入discord.Emoji类型对象
- 全局默认unicode emoji直接传入字符串即可,你当前测试输出的
- 你收到的405 Method Not Allowed错误通常是因为错误地对非Message对象(比如频道、用户对象)调用了加反应方法,确保你是对要添加反应的目标消息对象调用该方法。
内容的提问来源于stack exchange,提问作者Frikallo
相关产品推荐
相关产品推荐

