我试图在用户做出反应后删除嵌入内容
//msg = embed
message.channel.send(msg).then(msg => {
msg.react('?')
msg.react('?')
msg.react('?')
const trashFilter = reaction => {
return ['?'].includes(reaction.emoji.name)
}
msg.awaitReactions(trashFilter, { max: 1, time: 2592000, errors: ['time'] }).then((collected, msg) => {
const reaction = collected
if (reaction === '?') {
msg.delete({ timeout: 100 })
}
})
})
这不能成功删除消息。还有更好的方法吗?
答案 0 :(得分:1)
您的问题是由您在msg
的{{1}}中传递的awaitReactions()
参数引起的,因为then()
既不指向原始的msg.delete()
,也指向{ {1}}不返回消息,仅返回msg
的集合,因此您只需要传递awaitReactions()
messageReactions