【问题标题】:Discord.JS Message react with "standard" emojisDiscord.JS 消息与“标准”表情符号反应
【发布时间】:2021-08-04 22:34:50
【问题描述】:

所以...我不久前开始使用 Discord.JS,我一直在搜索和搜索,但我真的找不到如何使用“标准”Discord 表情符号对消息做出反应。我的意思是……

https://i.stack.imgur.com/gLeHx.png - 那些表情符号。

我想做这样的事情:

execute(client, message, args) {
    message.content.toLowerCase();

    message.channel.send('Something...').then(resource => {
        resource.react('${args}');
    });
}

args = 842839246934114324 (:smile: emoji)

【问题讨论】:

标签: node.js discord.js bots


【解决方案1】:

通过 unicode 符号获取表情符号:

您需要复制 unicode 符号(从 discord 或网站 like this one 复制它们):

然后就说message.react('✅')

您可以像往常一样发送表情符号并在其前面添加 \,从而从 discord 中获取 unicode 表情符号。这会将表情符号写为 unicode 符号,您可以将其复制到代码中。

例如:代替:laughing: 输入\:laughing:

按 ID 获取表情符号(仅适用于自定义表情符号):

const emoji = message.guild.emojis.resolve(id);
// OR
const emoji = client.emojis.resolve(id);

message.react(emoji);

【讨论】:

  • let varEmoji = message.guild.emojis.resolve(842843970501607434); console.log(varEmoji); 结果:空
  • 你试过client.emojis.resolve()
  • guild.emojis.resolve() 可能只是公会里所有的自定义表情
  • let varEmoji = client.emojis.resolve(842843970501607434); console.log(varEmoji); 结果相同,空
  • 好的...让我快速浏览一下
【解决方案2】:

添加到 MrCodingB 的回复中: 从不和谐的表情符号中获取原生 Unicode 符号实际上非常容易;您需要做的就是添加一个表情符号并在其前面添加一个\,然后发送消息:) 虽然这是可能的,但我个人使用 getemoji.com。

【讨论】:

    【解决方案3】:
        message.chanenl.send("hi").then(msg=>{
        msg.react("ID")
      // OR
        msg.react("✅")
      // OR
    
      //V 11
       let emoji = client.emojis.get("ID")
      //V 12
       let emoji= client.emojis.cache.get("ID")
       if(emoji) return msg.react(emoji)
     })
    

    【讨论】:

    • 它不起作用,我试过了,结果是:TypeError [EMOJI_TYPE]: Emoji must be a string or GuildEmoji/ReactionEmoji
    • 如果您尝试使用消息 ID 版本,那么它仅适用于自定义表情符号。
    猜你喜欢
    • 2018-09-25
    • 2021-08-14
    • 2022-10-04
    • 2021-01-11
    • 2021-12-17
    • 2021-04-04
    • 2021-07-07
    • 1970-01-01
    • 2020-11-14
    相关资源
    最近更新 更多