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

如何在Discord.js中使用Application Emoji?调用返回undefined

在Discord.js中调用应用表情的正确方法

你使用client.emojis.cache.get('EMOJI_ID')返回undefined的原因是:应用表情不属于全局表情缓存池,而是绑定在你的应用自身资源下,不能通过全局表情缓存获取。

下面是两种可行的调用方式:

  • 直接拼接表情格式发送
    无需提前获取表情对象,直接用<:表情名称:表情ID>的格式嵌入消息内容即可发送,示例代码:

    // 替换成你的表情名和ID
    message.channel.send('测试应用表情:<:CustomEmoji:123456789012345678>');
    
  • 通过应用表情缓存获取对象
    在Discord.js v14及以上版本中,应用表情会被存在client.application.emojis.cache中,你可以通过ID获取,示例代码:

    const emoji = client.application.emojis.cache.get('EMOJI_ID');
    if (emoji) {
      message.channel.send(`成功获取表情:${emoji}`);
    } else {
      console.error('未找到指定的应用表情,请检查ID是否正确');
    }
    

注意事项:

  • 确保使用的Discord.js版本为v14+,旧版本的API结构不支持这种获取方式
  • 表情ID必须准确无误,避免输入多余字符
  • 应用表情默认对自身绑定的机器人开放使用,无需额外权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 06:42:03