我刚开始使用javascript尝试使用discord.js设置discord机器人。我想将此机器人用作组织突袭的“简便”方法。因此,人们只需要轻按一下Icon即可登录团队。
const Discord = require('discord.js');
const bot = new Discord.Client();
...令牌,前缀等
bot.on('message', message => {
if (message.content.startsWith(PREFIX)) {
let args = message.content.substring(PREFIX.length).split(" ");
...一些检查命令的东西
message.channel.send('RaidID: ' + RaidID + '\nRaid: GOS \nRaid Leader: <@' + message.author.id + '> \nDate: ' + args[2] + '\nTime: ' + args[3]).then(messageReaction => {
messageReaction.react('✅');
});
到目前为止,代码工作正常。它检查日期和时间就好了。现在,我想检测是否有人对此消息作出了反应,并通过编辑对其进行提及。而且我只是不了解如何使用
awaitReactions
。甚至连awaitReactions
都可以。 最佳答案
您可以替换当前的消息功能
message.channel.send('RaidID: ' + RaidID + '\nRaid: GOS \nRaid Leader: <@' + message.author.id + '> \nDate: ' + args[2] + '\nTime: ' + args[3]).then(messageReaction => {
messageReaction.react('✅');
});
具有此功能:
message.channel
.send(
"RaidID: " +
RaidID +
"\nRaid: GOS \nRaid Leader: <@" +
message.author.id +
"> \nDate: " +
args[2] +
"\nTime: " +
args[3]
)
.then((messageReaction) => {
messageReaction.react("✅");
messageReaction.awaitReactions((args, user) => {
return !user.bot && args._emoji.name === "✅";
}, { max: 1 }).then(reaction => {
// SOMEONE REACTED
console.log('REACTION');
});
});
它在promise的
.awaitReactions
中添加.then
函数。它检查是否由用户和表情符号✅做出反应。如果反应正确,则调用// SOMEONE REACTED
处的部分。