Crear tu primer bot de Discord es más fácil de lo que piensas. No necesitas un grado en ciencias de computación o años de experiencia de programación. En 2026, construir e implementar un bot funcional toma un fin de semana si estás enfocado.
Esta guía te camina a través del proceso completo: registrar tu bot, escribir tu primer comando, probarlo localmente, e implementarlo en vivo. Al final, tendrás un bot ejecutándose en tu servidor.
Entendiendo Qué es un Bot de Discord
Un bot de Discord es un programa que se conecta a Discord vía la API y responde a eventos: cuando alguien escribe un comando, reacciona a un mensaje, se une al servidor, etc.
Conceptos clave:
- Aplicación vs. Bot: Tu "aplicación" se registra en el Portal de Desarrollador de Discord. El "bot" es la cuenta de usuario asociada con esa aplicación. Una aplicación tiene un bot.
- Tokens: Una clave secreta que autentica tu bot. Nunca compartas esto. Es como una contraseña para tu bot.
- Intents: Permisos que dejan a tu bot ver ciertos eventos (mensajes, reacciones, cambios de estado de miembro, etc.). Solo habilitas lo que necesitas.
- Comandos: Los bots responden a comandos. Los bots modernos usan comandos de barra diagonal (
/comando) en lugar de comandos de prefijo (!comando). Los comandos de barra diagonal están oficialmente soportados y recomendados. - Eventos: Tu bot escucha eventos de Discord (mensaje enviado, reacción añadida, miembro se unió) y reacciona a ellos.
Paso 1: Registra Tu Bot en el Portal de Desarrollador de Discord
Aquí es donde tu bot oficialmente existe en el sistema de Discord.
Proceso:
- Ve a Portal de Desarrollador de Discord
- Inicia sesión con tu cuenta de Discord
- Haz clic en "Nueva Aplicación"
- Nómbralo (ej. "Mi Primer Bot")
- Haz clic en "Crear"
- Ahora estás en configuraciones de tu aplicación
Ahora crea el usuario del bot:
- Ve a sección "Bot" (barra lateral izquierda)
- Haz clic en "Añadir Bot"
- Bajo el nombre de usuario del bot, verás un botón "TOKEN"
- Copia el token — esto es cómo tu bot se autentica. Mantén esto secreto. Nunca lo compartas públicamente o lo commits a GitHub sin encriptación.
Configura opciones del bot:
- Habilita "Message Content Intent" (deja que el bot lea texto de mensaje)
- Habilita "Server Members Intent" (deja que el bot vea quién está en el servidor)
- Desplázate a sección "OAuth2"
Paso 2: Genera el Enlace de Invitación de Tu Bot
Necesitas un enlace de invitación especial para añadir el bot a un servidor.
En el Portal de Desarrollador:
- Ve a "OAuth2" → "URL Generator"
- Bajo "SCOPES", marca:
bot - Bajo "PERMISSIONS", selecciona qué tu bot puede hacer:
Send Messages(esencial para cualquier bot)Manage Messages(si estás moderando)Add Reactions(si bot reacciona a cosas)Connect+Speak(si es bot de música/voz)- Para aprendizaje, solo selecciona
Send Messages+Read Messages(mínimo viable)
- Copia la URL generada al final
- Comparte esta URL con propietarios de servidores (o úsala tu mismo para añadir a tu propio servidor de prueba)
No uses permiso de Administrador a menos que sea absolutamente necesario. El sobre-permisos es riesgo de seguridad.
Paso 3: Elige Tu Lenguaje y Framework
Dos opciones principales para principiantes:
JavaScript (discord.js)
Discord.js es el framework de bot de Discord más popular. Comunidad enorme, toneladas de tutoriales, y documentación excelente.
Pros:
- La comunidad más grande y más tutoriales en línea
- La documentación de discord.js es excelente
- Node.js es ampliamente usado y fácil de aprender
- Fácil despliegue a la mayoría de plataformas de hospedaje
Contras:
- JavaScript tiene peculiaridades (curva de aprendizaje async/await)
- Node.js añade overhead de memoria vs. Python
Comienza:
- Instala Node.js (v18+)
- Crea carpeta de proyecto
npm init -ynpm install discord.js
Python (discord.py)
Sintaxis más simple, excelente para principiantes, excelente para aprender fundamentos.
Pros:
- Sintaxis más fácil de aprender
- Intuitivo para principiantes
- La documentación de discord.py es buena
- Python se usa en todas partes (ciencia de datos, web, automatización)
Contras:
- Comunidad más pequeña que discord.js (pero aún grande)
- Menos tutoriales que JavaScript
- Uso de memoria ligeramente más alto
Comienza:
- Instala Python 3.10+
- Crea carpeta de proyecto
pip install discord.py
Recomendación para principiantes: Si sabes Python, usa discord.py. Si sabes JavaScript, usa discord.js. Si no sabes ninguno, Python es más fácil de aprender, pero JavaScript tiene más recursos en línea. Elige uno y comprométete.
Paso 4: Escribe Tu Primer Bot (Ejemplo de Python)
Aquí está un bot de Discord mínimamente funcional en Python que responde a un comando:
import discord
from discord.ext import commands
# Crear bot con prefijo de comando e intents
intents = discord.Intents.default()
intents.message_content = True
bot = commands.Bot(command_prefix='!', intents=intents)
@bot.event
async def on_ready():
print(f'{bot.user} se ha conectado a Discord!')
@bot.command(name='hello', help='Dice hola')
async def hello(ctx):
await ctx.send(f'¡Hola {ctx.author.name}!')
@bot.command(name='ping', help='Responde con pong')
async def ping(ctx):
await ctx.send('¡Pong!')
bot.run('TU_TOKEN_AQUI')
Lo que hace:
- Se conecta a Discord
- Escucha comandos
!helloy!ping - Responde con un mensaje cuando se dispara
Para ejecutarlo:
- Reemplaza
'TU_TOKEN_AQUI'con tu token real del Paso 1 - Guarda como
bot.py - Ejecuta:
python bot.py - En Discord, escribe
!helloen cualquier canal - El bot responde: "¡Hola [TuNombre]!"
Paso 5: Prueba Localmente
Antes de desplegar, prueba tu bot localmente (en tu computadora).
Configura un servidor de prueba:
- Crea un servidor privado de Discord para prueba
- Añade tu bot usando el enlace de invitación del Paso 2
- Ejecuta tu código de bot localmente
- Escribe comandos en el servidor de prueba
- Observa por errores en tu terminal; fija los que encuentres
Errores comunes:
- "Token inválido" — Copiaste el token mal o expiró. Regenera en Portal de Desarrollador.
- "Permisos faltantes" — El bot no tiene permiso para hacer esa acción en este canal. Añade permisos o usa un canal donde el bot tiene más derechos.
- "Intents no están habilitados" — Necesitas habilitar intents en Portal de Desarrollador (Message Content Intent, Server Members Intent, etc.)
Prueba completamente. Un bot con bugs en producción es vergonzoso.
Paso 6: Añade Más Comandos
Ahora que entiendes lo básico, expande con más características.
Ejemplo de Python — un comando de economía simple:
@bot.command(name='balance', help='Comprueba tu balance de monedas')
async def balance(ctx):
# En un bot real, esto consultaría una base de datos
# Por ahora, solo retorna un valor simulado
await ctx.send(f'{ctx.author.name}, ¡tienes 100 monedas!')
@bot.command(name='roll', help='Lanza un dado (1-6)')
async def roll(ctx):
import random
result = random.randint(1, 6)
await ctx.send(f'{ctx.author.name} lanzó: **{result}**')
Cada comando es una función simple. Añade tantos como quieras.
Paso 7: Desplega Tu Bot
Hospedar localmente funciona para prueba, pero tu bot se detiene cuando cierras tu laptop. Despliega a un servidor para que ejecute 24/7.
Opciones de Hospedaje Gratuito
Replit (más fácil para principiantes):
- Ve a Replit.com
- Crea nuevo Repl → Python (o Node.js)
- Pega tu código de bot
- Haz clic en "Run"
- Replit lo hospeda gratis (con limitaciones: puede dormir después de inactividad)
Railway.app (moderno, confiable):
- Ve a Railway.app
- Conecta GitHub (o carga archivos directamente)
- Crea nuevo proyecto → selecciona tu bot
- Railway despliega automáticamente
- La capa gratuita incluye $5 de crédito mensual
Glitch (similar a Replit):
- Ve a Glitch.com
- Crea nuevo proyecto
- Pega código
- Glitch lo mantiene ejecutando (dentro de límites de capa gratuita)
Importante: No pongas tu token como código en el código que empujas a GitHub. Usa variables de entorno:
import os
from dotenv import load_dotenv
load_dotenv()
TOKEN = os.getenv('DISCORD_TOKEN')
bot.run(TOKEN)
Crea un archivo .env localmente (añade a .gitignore para que no se commit):
DISCORD_TOKEN=tu_token_real_aqui
En Replit/Railway, establece el token como variable de entorno secreto en configuraciones de la plataforma (no en código).
Errores Comunes de Principiante
Error 1: Poner el token como código Nunca pongas tu token en código que empujes a GitHub. Los bots con tokens fugados están comprometidos instantáneamente. Usa variables de entorno.
Error 2: No manejar errores Tu bot se cuelga en entrada inesperada. Añade manejo de errores:
@bot.command()
async def divide(ctx, a: int, b: int):
try:
result = a / b
await ctx.send(result)
except ZeroDivisionError:
await ctx.send('¡No puedo dividir por cero!')
except ValueError:
await ctx.send('¡Por favor ingresa números válidos!')
Error 3: No respetar límites de tasa Discord limita qué tan rápido puedes enviar mensajes. No hagas spam de la API. Añade retrasos entre acciones en lote.
Error 4: Ignorar intents Muchos bots de principiante fallan porque no habilitan intents necesarios en Portal de Desarrollador. Comprueba los intents que tu bot necesita antes de desplegar.
Error 5: Alcance demasiado ambicioso No intentes construir un sistema de economía, moderación, música, y 50 comandos en tu primer bot. Comienza con 3-5 comandos simples. Expande una vez que estés cómodo.
Próximos Pasos
Ahora que tienes un bot básico:
- Expande funcionalidad: Añade más comandos, usa bases de datos para persistir datos, implementa lógica compleja
- Usa comandos de barra diagonal: Sintaxis moderna
/comandoen lugar de comandos de prefijo - Añade reacciones: Deja que usuarios hagan clic en botones o reaccionen con emojis
- Conecta una base de datos: Almacena datos de usuario, monedas, preferencias (SQLite para principiantes, PostgreSQL para escala)
- Únete a comunidades: Las comunidades de desarrolladores de bots de Discord (reddit.com/r/discordbots, servidor de soporte de Discord.js) tienen respuestas a cada pregunta
Recursos
- Documentación de discord.js: https://discord.js.org
- Documentación de discord.py: https://discordpy.readthedocs.io
- Docs de Discord API: https://discord.com/developers/docs/intro
- Tutoriales de YouTube: Busca "[discord.js/discord.py] tutorial" — enorme cantidad de contenido
Tu primer bot de Discord es un proyecto de fin de semana. Tu primer bot bueno de Discord es un mes de práctica. Tu primer bot usado por 1,000 servidores es meses de iteración, desarrollo de características, y construcción comunitaria. Comienza ahora, itera constantemente, y no lo pienses demasiado.