[英]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.