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

Discord.py应用表情符号ID相关问题:名称获取与批量获取方案咨询

解答:Discord.py 获取应用自定义表情相关问题

能否仅通过名称获取应用自定义表情?

不能直接通过名称查询应用表情——Discord API没有提供直接按名称检索应用表情的接口,必须先获取所有应用表情集合,再自行做名称匹配。

获取所有应用表情并关联名称与ID的方法

Discord.py 2.5新增的await fetch_application_emojis()完全可以解决你的问题,它能拉取机器人所属应用的全部自定义表情。具体实现思路:

  • 调用该方法获取应用表情列表
  • 遍历列表,根据名称筛选目标表情

示例代码:

async def get_application_emoji(bot, target_name):
    # 获取所有应用表情
    app_emojis = await bot.fetch_application_emojis()
    # 匹配名称,找不到返回None
    return next((emoji for emoji in app_emojis if emoji.name == target_name), None)

这个逻辑和你之前用get(bot.emojis, name=...)类似,但作用范围是应用级表情,而非机器人所在服务器的表情。

为什么之前的方法无效?

bot.emojis只包含机器人已加入服务器的自定义表情,而应用表情属于Discord应用本身(可跨服务器使用),所以这个属性无法访问到应用表情。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 22:32:32