Discord.py 机器人不响应自定义表情符号

Posted

技术标签:

【中文标题】Discord.py 机器人不响应自定义表情符号【英文标题】:Discord.py bot not reacting with custom emoji 【发布时间】:2021-03-21 02:13:49 【问题描述】:

我正在制作一个 Discord.py 机器人,并试图让它使用自定义表情符号对一个特定的人做出反应。机器人在带有表情符号的服务器中,但我收到此错误:discord.errors.HTTPException: 400 Bad Request (error code: 10014): Unknown Emoji 我是 Discord.py 的新手,顺便说一句,哈哈。

这是我的代码:

@bot.event
async def on_message(message):
if message.author.id == 514605665306673172:
await message.add_reaction('<:android:332598085782077451>')

如果我要使用默认的 Discord Emoji,则代码可以正常工作。任何帮助将不胜感激

(Python 3.8.2)

【问题讨论】:

这很奇怪,对我来说很好用 【参考方案1】:

您可以尝试获取discord.Emoji 对象,方法如下

emoji = bot.get_emoji(332598085782077451)
await message.add_reaction(emoji)

还要确保启用默认意图和intents.members

【讨论】:

我已经试过了,我得到了同样的错误:(但是我会把intents.members放在哪里 here's特权意图介绍,看看吧【参考方案2】:

您确定您的表情符号名称和 ID 正确吗?如果您不确定是否可以使用 /:emoji_name: ( 转到服务器,输入表情符号,在其前面放一个 / 来获取它。您会看到表情符号返回到它的 :name: 表单,并带有/ 在它前面。)然后发送。使用自定义表情符号时,discord 将发送表情符号的名称:id。 (普通表情符号会返回 unicode 字符)。

【讨论】:

以上是关于Discord.py 机器人不响应自定义表情符号的主要内容,如果未能解决你的问题,请参考以下文章

Discord bot 添加对消息 discord.py 的反应(无自定义表情符号)

如何让不和谐机器人使用 discord.py 向消息添加表情符号反应?

discord.py emoji 所有服务器机器人

您如何让机器人使用自定义表情符号添加反应?

如何让 Discord 机器人在 on_message 中使用自定义表情符号响应消息

为啥不和谐机器人适用于默认表情符号,而当我放置自定义表情符号时不起作用?