Discord.js DiscordAPI 错误:未知表情符号 - 对嵌入做出反应

Posted

技术标签:

【中文标题】Discord.js DiscordAPI 错误:未知表情符号 - 对嵌入做出反应【英文标题】:Discord.js DiscordAPI Error: Unknown Emoji - Reacting to an Embed 【发布时间】:2021-05-20 23:28:20 【问题描述】:

这是我的代码:

client.on('message', message => 
    if (message.content.startsWith("!embed")) 
        const embed = new Discord.MessageEmbed()
            .setColor(0xffffff)
            .setFooter(`Page 1`)

        message.channel.send(':rewind::fast_forward:'); //this works

        //but this doesn't
        message.channel.send(embed).then(embedMessage => 
            embedMessage.react(":rewind:");
        );
);

我可能有一个隐藏的问题或没有提供正确的参数。我查看了similar previously asked question 并尝试实现它,但它不起作用,可能已经过时了。

相反,我收到一个错误:

UnhandledPromiseRejectionWarning: DiscordAPIError: Unknown Emoji

我使用的表情符号在标准表情符号库中提供,:rewind:

【问题讨论】:

【参考方案1】:

你必须使用 unicode emojis,下面是一个例子:

embedMessage.react("⏪");

【讨论】:

【参考方案2】:

Discord.Js 不处理 Discord 用户端 :rewind: 的表情符号。 Discord.js 使用 unicode 来发送和接收表情符号,除了自定义表情符号,这里使用 ID。

这意味着您应该改用以下代码。

embedMessage.react("⏪");

Unicode 表情符号可以通过在 Discord 中“转义”表情符号或使用类似的东西找到:https://getemoji.com/。

转义是通过在表情符号前面使用\ 来实现的,您可能从\n 知道这一点。通过输入\:rewind:,结果将如下所示。

复制 Unicode 表情符号时,请确保删除其中的所有空格。

【讨论】:

以上是关于Discord.js DiscordAPI 错误:未知表情符号 - 对嵌入做出反应的主要内容,如果未能解决你的问题,请参考以下文章

Discord.js 机器人的代码响应错误“TypeError:”

Discord.js v12 类型错误突击队

如何隐藏 DiscordAPIError (discord.js) (node.js)

如何检查消息是不是存在? (discord.js)

从 Discord 交互中查找成员

Discord Api 必须为客户端提供有效意图 [重复]