Discord bot无法“有时”显示表情

时间:2017-07-23 10:07:08

标签: node.js discord

作为法国Gwent播放器,我建立了一个discord bot(使用node.js和discord.js)来显示卡片的信息。它使用一些自定义表情来展示它的一部分。

enter image description here

它运作了几个星期,但最近一些卡片在调用时没有显示出表情。

enter image description here

我不知道可能出现什么问题。如果你自己在频道上使用它,那么表情就会起作用。有些卡显示表情,有些则没有,即使他们使用相同的表情。对于每张卡片而言,所有的表情都是如此。

我从我的数据库中检查了不同的卡片:无论是否有表情,我都无法得到任何可以解释为什么有些卡片可以有表情以及为什么有些卡片无法表达的特定元素。

这里有什么可以解释这种情况吗?

3 个答案:

答案 0 :(得分:1)

虽然这是一个迟到的答案,你可能已经找到了问题的答案,但我会为其他人发布答案。

首先在聊天中输入:

\:custom_emote_here:

所以在你的情况下,你希望它显示

并且名称为:number5:,您可以输入:number5:

你会得到这样的东西: enter image description here(当然,它会说:数字5:开头和数字会有所不同)

您可以将其复制并粘贴到您的代码中。 例如:

message.channel.send("<:super_magical:366208548914331659>")

会显示:

希望这有帮助!

答案 1 :(得分:0)

Discord的开发者最近改变了机器人在定制表情符号方面的工作方式。

在5月16日之前,机器人可以使用来自任何服务器的任何自定义表情符号,只要它们在丰富的嵌入中使用,如屏幕截图所示。

在该日期之后,机器人可以使用共享服务器中的自定义表情符号,但不必将其限制为仅使用富嵌入。

如果您有机器人加入这些自定义表情符号所在的所有服务器,那么它将能够再次开始使用表情符号。

答案 2 :(得分:0)

我知道很久以前就提出过这个问题了,但是我认为我提供了一个解决方案,我在最近遇到这个问题之后找到了解决这个问题的其他人。

通常情况下,当您在邮件中发送表情符号或通过&lt;:name:id&gt;嵌入时格式,Discord会将其转换为自定义表情符号。但是,在两种情况下,它表示消息中的所有自定义表情符号:name:format,如示例所示。

  1. 如果您尝试发送的其中一个自定义表情符号在服务器中不再有效(即您已将其从服务器中删除)。
  2. 如果您尝试通过&lt;:name:id&gt;发送动画表情符号格式。
  3. 如果满足上述两个条件中的任何一个,似乎Discord默认将消息中的所有表情符号转换为:name:而不是实际的自定义表情符号。

    我通过确保所有表情符号当前存在于服务器表情符号列表中并发送之前为我自己修复了它。对于动画表情符号,您应该通过&lt;:a:name:id&gt;发送它。而是格式化。