He visto numerosos videos y he seguido ejemplos en línea, y todavía no puedo hacer que mi bot de Discord simplemente envíe un mensaje cuando un miembro se une. ¿Quizás me estoy perdiendo una actualización importante?
//require the necessary discord.js classes const { Client, Intents } = require("discord.js"); const { token } = require("./config.json"); //create a new client instance const client = new Client({ intents: [Intents.FLAGS.GUILDS] }); //when the client is ready, run this code (only once) client.on('ready', () => { console.log("Online"); }); //sends user a welcome message upon joining client.on('guildMemberAdd', member => { const channel = member.guild.channels.cache.get('921490782958014576'); channel.send("Welcome to the server!!") }); client.login(token);
no consigo nada Nada. He probado varias piezas de código diferentes. He comprobado TRIPLE los permisos. Esto es muy frustrante. Intenté deshacer y leer el bot en el servidor. Revisé la documentación de discord.js y nada parece estar mal con mi código. Para mí, parece que guildMemberAdd no está emitiendo nada. Estoy usando Notepad++ para editar mi código. Siento que podría estar usando algo mejor para propósitos de depuración posiblemente.
El problema puede deberse a intenciones faltantes. Intente agregar la intención GUILD_MEMBERS
a su lista de intenciones de esta manera.
const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MEMBERS] });
Documentos de discord.js: https://discord.js.org/#/docs/main/stable/class/Intents?scrollTo=s-FLAGS
Documentos del desarrollador: https://discord.com/developers/docs/topics/gateway#gateway-intents