Discord js v12 如果有人对嵌入做出反应,则发送消息

Discord js v12 Send message if someone reacts to embed

我目前正在使用 discord.js v12(是的 12 不是 13)制作一个不和谐的机器人,我发出了一个命令让机器人发送一个嵌入并对其做出反应,在过滤器中我将最大值设置为2(最多:2,...)。我希望每次有人对此嵌入做出反应时,他的名字都会在频道中发送。我目前的概念是这样的(它在一个函数中,因为我不想但所有东西都在开关中):

async function fun_2p() {
  const reactionMessage2p = await message.channel.send(embed2p);
  const filter2p = (reaction, user) => user.id !== bot;

  await reactionMessage2p.react('')

  reactionMessage2p.awaitReactions( filter2p, {max: 2, time: 20000, errors: ['time'] }).then(collected => {
                    
  })
}

在最后一个 }) 之前应该是答案的代码(我猜)。

使用Message#createReactionCollector instead, and listen for the collect事件

const reactionMessage2p = await message.channel.send(embed2p);
const filter2p = (reaction, user) => user.id !== bot

await reactionMessage2p.react('')

const collector = reactionMessage2p.createReactionCollector(filter2p, {max: 2, time: 20000, errors: ['time'] })

collector.on("collect", (reaction, user) => {
  reaction.message.channel.send(`${user.tag} has just reacted to the message`)
})

您可以将消息更改为您想要的任何内容