【发布时间】:2022-01-06 18:39:52
【问题描述】:
当有新成员加入公会时,我的机器人会发送一条消息。消息发送给特定用户。
client.on('guildMemberAdd', member => {
const adminDm = client.users.cache.get(Config.get('ADMIN'));
client.commands.get('novoMembro').execute(member, adminDm);
});
现在我需要收集反应,以便为新成员分配一些角色。
const Discord = require('discord.js');
module.exports = {
name: 'novoMembro',
description: "Adding a new member to the guild",
execute(member, adminDm){
const novoMembroEmbed = new Discord.MessageEmbed()
.setColor([153,0,76])
.setTitle('NOVO MEMBRO ADICIONADO')
.setDescription(`<@!${member.id}> foi adicionado`)
.addFields(
{name: 'Selecione uma opção:', value: 'Reaja com ???? para enviar mensagem de boas vindas \n Reaja com ❌ para cancelar'},
);
adminDm.send({ embeds: [novoMembroEmbed] }).then((msg => {
msg.react('❌');
msg.react('????');
}));
}
}
到目前为止,代码工作正常。但是我找不到收集反应的方法,我尝试过的每个代码都不起作用。我想我没有正确理解收集反应的概念。 这些是我尝试过的一些代码。
const filter = (reaction) => ['❌', '????'].includes(reaction.emoji.name);
const reactOptions = {maxEmojis: 1};
.then(() => msg.awaitReactions(filter, reactOptions)).then(collected => {
if (collected.first().emoji.name === '????') {
console.log('msg de boas vindas');
}else{
console.log('cancelando');
}
【问题讨论】:
标签: javascript node.js discord.js bots