Crear un bot de Discord consiste en registrar una aplicación en el portal de desarrolladores, copiar su token, programar la lógica con una librería como discord.js e invitarlo a tu servidor. Con unos pocos pasos tendrás un bot que responde comandos, da la bienvenida a nuevos miembros o modera el chat. Aquí lo montas desde cero, aunque no hayas programado nunca un bot.

Lo esencial: ve a discord.com/developers, crea una aplicación, añade un bot y copia su token; luego instala discord.js con npm, escribe unas líneas en un archivo index.js y ejecuta node index.js para que el bot se conecte a tu servidor.

Cómo crear un bot de Discord paso a paso

El proceso tiene cinco fases: preparar el entorno, crear la aplicación, invitar el bot, programar su lógica y ejecutarlo. Vamos una por una.

1. Prepara lo que necesitas

Antes de empezar, ten a mano:

  • Una cuenta de Discord activa y un servidor donde puedas añadir bots (tienes que ser administrador o tener permiso para gestionar el servidor).
  • Node.js instalado en tu ordenador. Es lo único imprescindible si vas a usar JavaScript; descárgalo desde nodejs.org y elige la versión LTS.
  • Un editor de código como Visual Studio Code, aunque sirve cualquiera.
  • Nociones básicas de programación. No necesitas ser experto: con copiar, entender y modificar el ejemplo de abajo te basta para arrancar.

2. Crea la aplicación en el portal de Discord

El bot vive dentro de una “aplicación” que registras en el portal de desarrolladores de Discord:

  1. Accede con tu cuenta de Discord.
  2. Pulsa New Application, ponle un nombre (por ejemplo, MiPrimerBot) y acepta los términos.
  3. En el menú lateral entra en Bot.
  4. Activa los Privileged Gateway Intents que vayas a usar. Para leer el contenido de los mensajes necesitas marcar Message Content Intent.
  5. Pulsa Reset Token, copia el token y guárdalo en un sitio seguro. Es la contraseña de tu bot: si alguien lo consigue, controla el bot por completo.

No compartas nunca ese token ni lo subas a GitHub. Si se filtra, vuelve a esta pantalla y genera uno nuevo con Reset Token.

3. Invita el bot a tu servidor

El bot todavía no está en ningún servidor. Para meterlo necesitas un enlace de invitación con permisos:

  1. En el menú lateral ve a OAuth2 y luego a URL Generator.
  2. En Scopes marca la casilla bot.
  3. Aparecerá una lista de Bot Permissions. Selecciona solo lo que el bot vaya a necesitar (por ejemplo, Send Messages, Read Message History o Manage Roles).
  4. Copia la URL que se genera abajo, pégala en el navegador, elige tu servidor y confirma.

Verás al bot en la lista de miembros, todavía desconectado. Eso es normal: se pondrá “en línea” cuando ejecutes el código del paso 5.

4. Programa la lógica del bot con discord.js

Vamos a crear un bot mínimo en Node.js con la librería discord.js, la más usada y mejor documentada.

Abre la terminal, crea una carpeta para el proyecto y dentro de ella ejecuta:

npm init -y
npm install discord.js

Crea un archivo index.js con este contenido:

const { Client, GatewayIntentBits } = require('discord.js');

const client = new Client({
  intents: [
    GatewayIntentBits.Guilds,
    GatewayIntentBits.GuildMessages,
    GatewayIntentBits.MessageContent,
  ],
});

client.on('ready', () => {
  console.log(`Bot conectado como ${client.user.tag}`);
});

client.on('messageCreate', (message) => {
  if (message.author.bot) return;
  if (message.content === '!ping') {
    message.channel.send('¡Pong!');
  }
});

client.login('TU_TOKEN_AQUI');

Sustituye TU_TOKEN_AQUI por el token del paso 2. La comprobación message.author.bot evita que el bot se responda a sí mismo y entre en un bucle.

Un consejo de seguridad: en proyectos serios el token no se escribe directamente en el código, sino en un archivo .env que no se sube al repositorio. Para empezar y probar, pegarlo aquí funciona.

5. Ejecuta y prueba el bot

Guarda el archivo y, en la misma carpeta, ejecuta:

node index.js

Si todo va bien, la terminal mostrará “Bot conectado como…” y el bot pasará a estar “en línea” en tu servidor. Escribe !ping en cualquier canal donde el bot tenga permiso y responderá ¡Pong!.

Ya tienes la base. A partir de aquí solo es cuestión de añadir más comandos y funciones dentro del evento messageCreate o usando los comandos de barra (/) de Discord.

Qué es un bot de Discord

Un bot de Discord es una cuenta automatizada que se conecta a un servidor mediante la API de Discord y reacciona a lo que ocurre en él: mensajes, reacciones, usuarios que entran o salen, comandos. Frente a una persona, un bot responde al instante, las 24 horas, y repite la misma tarea sin cansarse. Por eso se usan para moderar, dar la bienvenida, organizar roles o añadir juegos.

A grandes rasgos sirve para tres cosas:

  • Automatizar tareas repetitivas: mensajes de bienvenida, asignación de roles, filtrado de spam y moderación.
  • Interactuar con la comunidad: comandos personalizados, encuestas, niveles de actividad y minijuegos.
  • Integrar servicios externos: avisos de directos de Twitch o YouTube, noticias o alertas.

Si ya has trasteado con otras plataformas, como un bot de Telegram o un bot de Messenger, notarás que la lógica es muy parecida: escuchar un evento y responder.

Funciones que puedes añadir a tu bot

Con el bot conectado, lo siguiente es darle utilidad. Estas son las funciones más habituales:

  • Moderación automática: borrar mensajes con palabras prohibidas, expulsar o silenciar a quien haga spam.
  • Bienvenida y despedida: un mensaje automático cuando alguien entra o sale del servidor.
  • Sistema de niveles: dar puntos por participar para incentivar la actividad.
  • Gestión de roles por reacción: el usuario reacciona a un mensaje y el bot le asigna un rol.
  • Avisos de directos: notificar al canal cuando alguien empieza a emitir en Twitch o sube un vídeo.
  • Juegos y música: trivias, sorteos o reproducción de audio en canales de voz.

La clave no es meter de todo, sino resolver lo que tu comunidad realmente necesita. Si prefieres programar el bot en otro lenguaje, puedes apoyarte en la guía de cómo crear un programa en Python.

Lenguajes y librerías más usados

Estas son las opciones más extendidas para programar un bot, según el lenguaje:

LenguajeLibrería principalDificultadComunidad y soporte
JavaScript (Node.js)discord.jsBajaMuy alta
Pythondiscord.pyMediaAlta
JavaJDAMedia-altaMedia
C#DSharpPlusMediaMedia

Para empezar, JavaScript con discord.js es la combinación más recomendable por la cantidad de tutoriales y ejemplos disponibles.

Seguridad y buenas prácticas

Un bot con permisos amplios y mal configurado es un riesgo para tu servidor. Ten en cuenta esto:

  • Protege el token. Nunca lo publiques. Si se filtra, regéneralo de inmediato desde el portal de Discord.
  • Aplica permisos mínimos. Concede al bot solo los permisos que use; evita darle administrador “por comodidad”.
  • Valida los comandos. Comprueba quién puede ejecutar cada acción para que un usuario no abuse de un comando de moderación.
  • Actualiza las dependencias. Mantén discord.js y el resto de librerías al día para evitar vulnerabilidades conocidas.
  • Cumple la normativa de datos. Si el bot guarda información de usuarios, respeta las políticas de privacidad que correspondan.

Preguntas frecuentes

¿Necesito saber programar para crear un bot de Discord?

Para un bot propio y potente, conviene tener nociones básicas de JavaScript o Python. Aun así, existen plataformas “no code” como BotGhost o Mee6 que permiten montar bots sencillos arrastrando bloques, con funciones más limitadas. Si quieres control total, programarlo tú mismo es el camino.

¿Puedo tener mi bot funcionando las 24 horas gratis?

En tu ordenador el bot solo está activo mientras el PC esté encendido y el script en marcha. Para que funcione siempre necesitas alojarlo en un servidor o en un servicio en la nube. Hay opciones gratuitas con limitaciones y planes de pago baratos que dan más estabilidad.

¿Qué es el token y por qué es tan importante?

El token es la credencial que identifica a tu bot ante Discord. Quien lo tenga puede controlar el bot por completo: enviar mensajes, expulsar usuarios o borrar canales según sus permisos. Por eso no debe compartirse ni publicarse, y si se filtra hay que regenerarlo enseguida.

¿Por qué mi bot aparece desconectado en el servidor?

Porque el código no se está ejecutando. El bot solo se pone “en línea” mientras node index.js corre en la terminal o en el servidor donde lo alojes. Si cierras la terminal o se detiene el proceso, el bot vuelve a aparecer desconectado.

¿Cuántos bots puedo añadir a un servidor de Discord?

No hay un límite práctico para la mayoría de servidores, pero no conviene saturarlo con bots que hagan lo mismo. Revisa que sus permisos no entren en conflicto y quédate solo con los que aporten algo a tu comunidad.

Guía revisada por comocrearun.org

Explicamos cada paso de forma clara y la actualizamos cuando algo cambia.