所以我在过去的几天里一直在努力学习如何开展这项工作。 我试图这样做,当有人提交某人时,它会要求确认,然后是console.logs。但是当我按下支票时,它什么也没做。
// aca!evidence [URL] [ign/name]
const checkChannel = client.channels.find("name", "testbotchannel");
const ign = args[1];
const link = args[2];
const filter = (reaction, user) => reaction.emoji.name === '✅';
if(!ign) {
message.channel.send(`Please define a username`);
} else if (!link) {
message.channel.send(`Please define a URL`);
} else {
message.reply(`Thanks for submitting! We will review this asap!`)
.then(msg => {
msg.delete(10000)
});
checkChannel.send(`${message.author} submitted ${ign} (${link})`).then(async message => {
await message.react("✅")
await message.react("❎")
message.awaitReactions(filter)
.then(() => console.log(`Collected`))
.catch(console.error)
});
}
答案 0 :(得分:0)
我认为你想要的不是.awaitReactions(...)
而是.createReactionCollector(...)
。使用此方法,您可以使用“收集”事件创建响应邮件上每个反应的事件。
以下是文档中的一个示例,适用于checkChannel.send(...)
message.react('✅')
.then(mReaction => message.react('❎') )
.then(mReaction => {
const collector = message.createReactionCollector(reactionFilter, { time: 15000 });
collector.on('collect', r => console.log(`Collected ${r.emoji.name}`));
collector.on('end', collected => console.log(`Collected ${collected.size} items`));
})
.catch(console.log);
P.S。我不使用await
库,但我相信你可以根据自己的需要调整它。如果您有任何问题,请告诉我