我正在尝试向响应该消息的前5个人发送消息,但是它仅向第一位做出反应的人发送DM,不允许其他任何人响应或接收DM。

我该怎么做?



case 'await':
  message.channel.sendMessage('React for dm').then(sentMessage => {
    sentMessage.react('1️⃣').then(() => sentMessage.react('2️⃣'));

    const filter = (reaction, user) => {
      return ['1️⃣', '2️⃣'].includes(reaction.emoji.name);
    };

    sentMessage.awaitReactions(filter, {
        max: 1,
        time: 60000,
        errors: ['time']
      })
      .then(collected => {
        const reaction = collected.first();

        if (reaction.emoji.name === '1️⃣') {
          message.author.sendMessage('I told you I would!')
        }
      })
  })

最佳答案

您具有max: 1,它告诉收集器成功收集1个反应后退出。您应该将其设置为5。

之后,您需要遍历collected以将DM发送给所有这些DM,而不是使用first()。

07-28 10:19