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

Discord机器人被提及触发消息反应功能时报Unknown Emoji错误的原因分析

报错核心原因

出现discord.errors.HTTPException: 400 Bad Request (error code: 10014): Unknown Emoji错误,本质是两个问题:

  • 传入reaction接口的emoji格式不被API识别
    你写的:thumbsup:是Discord前端聊天框的快捷输入短代码,API层完全不支持解析这种带冒号的纯文本格式。它会把这个字符串当成自定义服务器emoji的标识去校验,找不到对应实体就会直接抛出“未知emoji”的10014错误。
  • 代码结构存在硬伤
    @client.event是装饰器,后面必须紧跟绑定的事件回调函数定义,你现在直接在装饰器下面写逻辑判断,代码本身根本没法正常运行。

补充说明:discord.py的接口层能识别的emoji格式只有两种,一种是原生Unicode字符,另一种是带ID的自定义emoji标识格式,纯短代码字符串不在官方支持范围内。

可落地的修正方法
  • 替换emoji参数:直接传入Thumbsup对应的原生Unicode字符👍,不要传短代码字符串
  • 补全事件回调逻辑,加上机器人自身消息的过滤,避免机器人响应自己发的消息导致无限触发
  • 如果需要使用其他内置emoji,统一传对应的Unicode字符即可;如果要使用服务器自定义emoji,需要拿到对应emoji的完整对象或者合法ID再传入接口

修正后的可运行代码参考:

@client.event
async def on_message(message):
    # 过滤所有机器人的消息,避免逻辑死循环
    if message.author.bot:
        return
    if client.user.mentioned_in(message):
        await message.channel.send(f'{message.author.mention} Senpai')
        await message.add_reaction('👍')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.25 22:36:00