【发布时间】:2021-08-15 05:11:59
【问题描述】:
我正在向用户发送一个测验,并尝试倾听他们的第一反应。问题是我怎样才能得到每个人选择而不是其他人的第一反应?我找不到一种方法来确定每个人首先选择的反应,因为很多时候用户会选择很多反应。
类似:
红色是什么颜色?
???? ??? ????
每个用户都用机器人提供的反应来回答,一段时间后机器人会显示正确的答案以及赢家和输家。
const embed = new Discord.MessageEmbed()
.setColor(0x00AE86)
.setDescription('the quizz');
message.channel.send({
embed
}).then(async m => {
let emojis = icons.slice(0, size.length);
for (var i = 0; i < emojis.length; i++) {
await m.react(icons[i]);
}
const filter = (reaction, user) => {
return emojis.includes(reaction.emoji.name) && !user.bot;
};
m.awaitReactions(filter, {
time: 60000
})
.then(collected => {
const reaction = collected.array();
for (var i = 0; i < reaction.length; i++) {
let users = reaction[i].users.cache.array();
console.log(users);
for (var k = 1; k < users.length; k++) {
let wallet = db.get(args[1] + '_' + users[k].id);
if (parseInt(args[0]) > wallet) {
message.channel.send('You don't have money.');
return;
} else {
let bet = icons.indexOf(reaction[i].emoji.name);
let answer = users[k].id + ',' + size[ans];
db.push('answer_xx', answer);
m.channel.send('We saved your answer.');
}
}
}
})
});
【问题讨论】:
标签: node.js discord discord.js