我正在尝试向响应该消息的前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()。