无法与 Unicode 表情符号 discord.js 做出反应

时间:2021-04-17 02:57:45

标签: javascript discord discord.js

我正在为我的不和谐机器人编写一个轮询命令,并且需要表情符号作为选项。但是,当我尝试对从消息中获得的默认表情符号做出反应时,它失败了。我不会涉及太多细节,但这里是几乎所有相关代码:

    // This just takes the <prefix> poll off then splits it by newlines
    const args = message.content.slice(message.content.indexOf("poll")+"poll ".length).split("\n");

    const fields = [];
    const reactions = [];

    // First arg is title
    for(let i = 1; i < args.length; i++){
        const splits = args[i].split("-"); // Split each arg by -
        fields.push(splits[0] + ":   " + splits[1]); // Field title
        fields.push(splits[2]); // Field description

        reactions.push(splits[0]); // This should be an emoji
    }


    // This function takes in message, embed title, [field title, field description, ...]
    const msg = await embedGenerator.sendNormalEmbed(message, args[0], "", fields);

    // React
    for(let i = 0; i < reactions.length; i++){
        await msg.react(reactions[i])
    }

这对于自定义表情符号非常有效,但是,对于默认的 Unicode 表情符号却失败了: enter image description here

第二次民意调查给​​了我这个错误: enter image description here

在查看 put 请求之后,它发出了一个应该做出反应的调用,然而,表情符号的 ID 是 ? 的 Unicode 代码。有没有办法从文本中得到一个普通的 emoji 而不是这个 Unicode 代码,如果没有,有没有办法强制 discord 与 Unicode 代码做出反应?

1 个答案:

答案 0 :(得分:2)

我对你的问题有点困惑,所以也许我不正确。如果是,请评论并ping我。您也可以向我寻求其他帮助。

  • 原因:-

所以不和谐不使用 id 来响应已经不和谐的默认表情符号。如果你想实现 ":helicopter:" 作为反应,你需要用这个 "?" 替换它。

  • 解决方案:-

你仍然可以通过告诉用户在 ":helicopter:" 之前插入 "\" 来解决它,这样表情符号就会变成 unicode 或者有一个 npm 包,this

您也可以参考 this 站点来复制和粘贴它们,或参考 this 获取有关表情符号的帮助。