我试图使一个机器人,给用户成员角色,并发送一个简单的欢迎消息到聊天。然而,当有人加入时,什么也没有发生(甚至没有错误)。下面是我的代码:
client.on('guildMemberAdd', guildMember => {
console.log(guildMember);
let role = guildMember.guild.roles.cache.find(role => role.name == 'member');
guildMember.roles.add(role);
member.guild.channels.get('channelID').send(`welcome <@${guildMember.id}> dont forget to
check the rules`);
});
是否激活了必要的标志?客户端需要以下意图,以便在有人加入服务器(bot位于
)时获得警报const client = new Discord.Client({intents : ["GUILD_MEMBERS"]})
查看the official documentation
中的更多意图最后,它看起来像:
const Discord = require('discord.js')
const client = new Discord.Client({intents : ["GUILD_MEMBERS"]})
client.on('guildMemberAdd', guildMember => {
console.log(guildMember);
let role = guildMember.guild.roles.cache.find(role => role.name == 'member');
guildMember.roles.add(role.id);
guildMember.guild.channels.get('the channel id')).send(`welcome <@${guildMember.id}> dont forget to
check the rules`);
});
还要确保你没有把client.on('guildMemberAdd',...)
放在client.on('message',..)
里面,它们需要分开。