根据某些反应删除嵌入

时间:2020-06-30 21:04:49

标签: javascript node.js discord.js

我试图在用户做出反应后删除嵌入内容

//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 })
    }

  })


})

这不能成功删除消息。还有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

您的问题是由您在msg的{​​{1}}中传递的awaitReactions()参数引起的,因为then()既不指向原始的msg.delete(),也指向{ {1}}不返回消息,仅返回msg的集合,因此您只需要传递awaitReactions()

messageReactions