Saltar al contenido
← Todos los tutoriales

Crea un bot de bienvenida con discord.js

Saluda a los nuevos miembros y dales un rol, con la plantilla o a mano.

La forma rápida: usa la plantilla

  1. Crea un bot con la plantilla Bienvenida y elige Node.js (discord.js).
  2. Abre Probar, pulsa Simular la llegada de un miembro y observa el mensaje de bienvenida y la asignación del rol.
  3. 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 #welcome o 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