簡體   English   中英

Discord.js 反應收集器不適用於自定義表情符號

[英]Discord.js reaction collector wont work with custom emojis

我在編寫機器人時遇到問題,我的反應收集器將使用 Unicode 表情符號,但不是我服務器的自定義表情符號。 我希望反應向頻道發送消息。 它目前僅適用於 Unicode 表情符號。 有什么方法我應該這樣做嗎?

        .then(collected => {
          const reaction = collected.first();

          if (reaction.emoji.name === "😀") {
            message.channel.send("Smile")
            
          }
          
          if (reaction.emoji.name === "<:Peasant:797613974173515786>") {
            message.channel.send("Peasant")
          }
        
          
        })```

如果您使用的是awaitReactions方法,那么您的 promise 未實現。 檢查此以獲取更多信息。 要解決這個問題,您只需在程序中添加return ,從而實現 promise。

代替message.channel.send("Smile")message.channel.send("Peasant") ,發送return message.channel.send("Smile")return message.channel.send("Peasant")

我最近遇到了同樣的問題,但幸運的是我想通了!

只需將reaction.emoji.name 設置為表情符號的實際名稱,而不是用於顯示表情符號的文本。 例如,在您的情況下,它將是:

if (reaction.emoji.name == 'Peasant') {
   // do stuff
}

在一些假設的情況下,如果另一個表情符號的文本是 <:hypotheticalemojiname:837837383738373>,那么檢查反應是否是那個表情符號的方法是:

if (reaction.emoji.name == 'hypotheticalemojiname') {
   // Do stuff
}

希望這有幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM