【问题标题】:Custom reaction emoji discord js: "Client undefined"自定义反应表情符号不和谐 js:“客户端未定义”
【发布时间】:2018-08-26 23:10:30
【问题描述】:

我正在尝试做一个 roleReact 机器人。库存表情符号正在工作,我基于discord.js 的官方文档中的一些,但是当涉及到自定义表情符号反应时,我不断得到结果

客户端未定义

这是我目前的代码:

case "react":
// this works
message.react("????").then(reaction => console.log(typeof reaction));
//I keep getting a client undefiend error here
message.react( client.emojis.get("410431571083132933")).then(reaction =>  console.log(typeof reaction));
message.react("410431571083132933").then(reaction => console.log(typeof reaction));
break;

有人知道解决这个问题的方法吗?

【问题讨论】:

  • 您需要提供更多代码。至少在定义 cilent 的地方,或者在这种情况下,没有定义

标签: javascript emoji discord discord.js


【解决方案1】:

您确定这是一个有效的 Emoji ID 吗?
您不能右键单击表情符号和复制 ID。这将复制消息的 ID。
获取 Emoji 类型的 ID \:emoji: => <:emoji:123123123123>
使用该 ID,您可以对消息做出反应。

message.react(client.emojis.get("123123123123"))
    .then(reaction => console.log(typeof reaction));

或者,如果您从某处复制并粘贴该代码,clientDiscord.Client() 的默认值,但有些人改用 bot
试试bot 而不是client

【讨论】:

    【解决方案2】:

    您可以删除整个获取表情符号部分,看看这是否有效:

    message.react("<:emojiNameGoesHere: 410431571083132933>").then(reaction => console.log(typeof reaction));
    

    这是实际发送的文本,discord 只是在客户端删除它并用表情符号替换它。

    【讨论】:

      【解决方案3】:

      您的机器人必须在服务器上使用您想要使用的一些自定义表情符号

      【讨论】:

      • 不一定,机器人具有与使用 discord nitro 相似(完全一样)的能力。他们可以在任何地方使用表情符号,只要它是他们(机器人)所在的至少一个服务器的一部分
      • 我不是这个意思。该机器人不会凭空取出表情符号。因此,他需要从某个地方(在我们的例子中是从另一台服务器)获取这个表情符号,以便他可以在任何地方使用它
      猜你喜欢
      • 2020-11-10
      • 1970-01-01
      • 2020-07-10
      • 2021-08-09
      • 2020-03-20
      • 2020-11-07
      • 2021-02-28
      • 1970-01-01
      • 2021-09-04
      相关资源
      最近更新 更多