La forma rápida: usa la plantilla
- Crea un bot con la plantilla Bienvenida y elige Node.js (discord.js).
- Abre Probar, pulsa Simular la llegada de un miembro y observa el mensaje de bienvenida y la asignación del rol.
- Añade
DISCORD_TOKEN, activa el Server Members Intent y despliega.
Cómo funciona en código
Por dentro, un bot de bienvenida escucha el evento GuildMemberAdd. Ese evento necesita el intent privilegiado Server Members Intent.
const { Client, GatewayIntentBits, Events } = require("discord.js");
const client = new Client({
intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildMembers],
});
client.on(Events.GuildMemberAdd, async (member) => {
const channel = member.guild.channels.cache.find((c) => c.name === "welcome");
if (channel?.isTextBased()) {
await channel.send(`Welcome to ${member.guild.name}, ${member}!`);
}
const role = member.guild.roles.cache.find((r) => r.name === "Member");
if (role) await member.roles.add(role);
});
client.login(process.env.DISCORD_TOKEN);Problemas habituales
- No pasa nada al entrar alguien — el Server Members Intent está desactivado en el Portal para Desarrolladores.
- Missing Permissions (50013) — al bot le falta Manage Roles o su rol está por debajo de
Member. - Canal desconocido — crea un canal
#welcomeo cambia el nombre.
Puedes ensayar el error de permisos en el sandbox: activa «Rol del bot al fondo de la jerarquía» y simula una llegada.
¿Listo para crear tu primer bot?
Crear un bot — gratis