Estoy tratando de hacer un bot que otorgue un rol de miembro de usuario y envíe un mensaje de bienvenida simple al chat. Sin embargo, cuando alguien se une, no pasa nada (ni siquiera un error). Aquí está mi código:
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`); });¿Activaste las banderas necesarias? Un cliente necesita la siguiente intención para recibir una alerta cuando alguien se une a un servidor en el que se encuentra el bot
const client = new Discord.Client({intents : ["GUILD_MEMBERS"]}) Ver más intentos en the official documentation
Al final, se vería algo como:
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`); }); También asegúrese de no poner client.on('guildMemberAdd',...) dentro de client.on('message',..) Deben estar separados.