Todavía soy bastante nuevo en la creación de bots, por lo que este mensaje de bienvenida funcionó en discord.js v12 pero ya no me funciona en v13. Estoy tratando de enviar un mensaje en un canal específico cuando alguien se une al servidor, pero verifiqué y .send no existe en GuildChannel. Revisé la documentación, pero todos hablan sobre el envío de incrustaciones de mensajes, pero solo estoy tratando de enviar un mensaje simple a TextChannel Aquí está el código.
const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES] }); client.on('guildMemberAdd', guildMember => { guildMember.guild.channels.cache.get('474431129613762571').send(`**Welcome to the discord server, <@${guildMember.user.id}>!**`); });Puedo proporcionar más información si es necesario. Cualquier ayuda será apreciada.
Necesitas la intención de GUILD_MEMBERS tanto en el código como en el portal para desarrolladores de Discord.
const client = new Client({ intents: [ Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES, Intents.FLAGS.GUILD_MEMBERS //also enable in discord developer portal ] }) Para responder a la otra parte de su otra pregunta, el .send existe en TextChannel s. TextChannel extiende BaseGuildTextChannel que extiende GuildChannel . ¡Es así porque puede ser un VoiceChannel !