【问题标题】:Discord bot can't show emote "sometimes"Discord 机器人“有时”无法显示表情
【发布时间】:2018-06-12 03:03:27
【问题描述】:

作为一名法国 Gwent 玩家,我构建了一个 discord 机器人(使用 node.js 和 discord.js)来在您命名卡片时显示卡片的信息。它使用一些自定义表情来显示其中的某些部分。

它在几周内运行良好,但最近有些卡片在被调用时不显示表情。

我不知道可能出了什么问题。如果您自己在频道上使用表情,则表情会起作用。有些卡片会显示表情,有些则不会,即使他们使用相同的表情。而且每张卡片总是只有表情或没有表情。

我从我的数据库中检查了不同的卡片:无论有没有表情,我都找不到任何具体的元素来解释为什么有些卡片可以有表情,而为什么有些不能。

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

【问题讨论】:

    标签: node.js discord


    【解决方案1】:

    虽然这是一个较晚的答案,您可能已经找到了该问题的答案,但无论如何我都会为其他人发布答案。

    首先在聊天中你必须输入:

    \:custom_emote_here:
    

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

    它的名字是:number5:,你可以输入:number5:

    你会得到这样的东西: (当然,它会说 :number5: 并且开头和数字会不同)

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

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

    会显示这个:

    希望这会有所帮助!

    【讨论】:

    • 不再那样工作了,我想,我是这样做的,当我测试它时,它只发送没有数字和 的表情名称,并且不转换为 img。
    【解决方案2】:

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

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

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

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

    【讨论】:

    • 感谢您的建议,但事实并非如此:正如我所说,对于某些卡片来说,表情在这里,对于其他一些则不是,如果它是相同的表情。我认为某些东西使表情在某些嵌入消息中不起作用,但我不明白。顺便说一句,机器人在这些自定义表情所在的服务器上;)
    【解决方案3】:

    我知道这个问题是很久以前提出的,但我想我会为其他也面临这个问题的人提供我最近遇到这个问题后找到的解决方案。

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

    1. 如果您尝试发送的自定义表情符号之一在服务器中不再处于活动状态(即您已将其从服务器中删除)。
    2. 如果您尝试通过 <:name:id> 格式发送动画表情符号。

    如果满足上述两个条件中的任何一个,Discord 似乎默认将消息中的所有表情符号转换为:name:,而不是实际的自定义表情符号。

    我自己修复了这个问题,确保所有表情符号当前都存在于服务器表情符号列表中,然后再发送它们。对于动画表情符号,您应该通过 <:a:name:id> 格式发送它。

    【讨论】:

      猜你喜欢
      • 2019-11-06
      • 2021-02-19
      • 1970-01-01
      • 2019-12-21
      • 2020-10-29
      • 1970-01-01
      • 2019-05-10
      • 1970-01-01
      • 2020-12-27
      相关资源
      最近更新 更多