我正在尝试向用户发送RichEmbed
,并将其作为按钮。过了一会儿,如果用户有反应,我会做一些事情。这是我的代码:
var menu = new Discord.RichEmbed()
.setTitle("Settings menu")
.addField('Change the prefix', '(1)')
var menuMessage = msg.channel.send(menu)
.then(async m => {
await m.react('1️⃣')
var filter = (u, r) => {
u.id == m.author.id && r.emoji.name == '1️⃣'
}
m.awaitReactions(filter, {time: 5000})
.then(collected => {
console.log(collected.size)
})
})
我工作得很好,但是无论我对该消息加什么反应,它都将collected.size
记录为0,这很奇怪。
有关如何解决此问题的任何想法?
答案 0 :(得分:0)
数字的反应表情很特别。我不知道为什么,但是只有当您使用他们的unicode名称时,它才有效。因此,只需将1️⃣
替换为\u0031\u20E3
就可以了。
答案 1 :(得分:0)
在您的过滤器函数中,m
变量等于您的漫游器发送的嵌入消息。在您的上下文中,如果要与用户进行awaitReactions,请使用msg
变量。