Bots de Discord

7 errores comunes al programar un bot de Discord y cómo solucionarlos

Intents sin activar, comandos slash que no aparecen, interacciones que fallan a los 3 segundos, límites de peticiones y otros errores típicos de bots de Discord, con su solución.

Por el equipo de Voriam Technologies3 min de lectura

Estos son los problemas que más vemos en los bots que llegan a nuestro soporte. Casi todos tienen una causa concreta y una solución de pocos minutos.

1. El bot no lee los mensajes (contenido vacío)

Desde 2022 el contenido de los mensajes es un intent privilegiado. Si tu bot usa comandos con prefijo (!ayuda) y message.content llega vacío, falta activarlo en dos sitios:

  1. En el Developer Portal, pestaña Bot, activa *Message Content Intent*.
  2. En el código, pide el intent: GatewayIntentBits.MessageContent en discord.js o intents.message_content = True en discord.py.

Lo mismo pasa con *Server Members Intent* si necesitas eventos de entrada y salida de miembros.

2. Los comandos slash no aparecen

  • Los comandos hay que registrarlos: en discord.py con await bot.tree.sync(), en discord.js con un script de despliegue que llama a la API REST.
  • Los comandos globales pueden tardar un rato en propagarse; los registrados en un servidor concreto aparecen al instante. Para desarrollar, regístralos en tu servidor de pruebas.
  • El bot debe haberse invitado con el scope applications.commands además de bot.
  • Si sigue sin verse, recarga Discord con Ctrl+R: el cliente guarda en caché la lista de comandos.

3. "La aplicación no ha respondido"

Discord da 3 segundos para responder a una interacción. Si el comando consulta una API o una base de datos lenta, se pasa del límite. La solución es reconocer la interacción primero y responder después:

await interaction.deferReply();      // tienes hasta 15 minutos
const datos = await consultaLenta();
await interaction.editReply(`Resultado: ${datos}`);

En discord.py el equivalente es await interaction.response.defer() seguido de await interaction.followup.send(...).

4. Error 429: demasiadas peticiones

Discord limita cuántas peticiones puede hacer un bot por segundo y por ruta. Las librerías gestionan esas esperas automáticamente, pero si el bot hace bucles que envían cientos de mensajes, editan un mensaje cada segundo o cambian apodos en masa, acabará esperando o recibiendo bloqueos temporales. Agrupa acciones, usa *embeds* en lugar de muchos mensajes y nunca reintentes en bucle sin pausa.

5. Missing Permissions

El bot intenta hacer algo para lo que no tiene permiso. Revisa tres cosas: los permisos del rol del bot, los permisos específicos del canal (que pueden anular los del rol) y la jerarquía de roles: un bot no puede moderar ni asignar roles que estén por encima del suyo.

6. El token no es válido

Si el login falla con *An invalid token was provided*, el token se copió mal, tiene espacios o se ha regenerado. Discord también invalida automáticamente los tokens que detecta publicados en GitHub. Genera uno nuevo y guárdalo en una variable de entorno, como explicamos en cómo proteger el token de tu bot.

7. El bot bloquea todo mientras trabaja

En Python es muy común llamar a funciones síncronas (requests.get, time.sleep, consultas a SQLite sin async) dentro de un comando. Mientras esa llamada no termina, el bot entero se congela y Discord puede llegar a desconectarlo. Usa aiohttp en lugar de requests, asyncio.sleep en lugar de time.sleep y, para trabajos pesados, asyncio.to_thread.

En Node.js el equivalente es hacer cálculos muy pesados en el hilo principal; muévelos a un *worker thread* o a un proceso aparte.

Bots de Discord

Cómo mantener tu bot de Discord en línea 24/7

Por qué tu bot se desconecta cuando apagas el PC y cómo tenerlo siempre activo: opciones de alojamiento, reinicio automático, reconexión y registros de errores.

3 min

Ecosistema integral de soluciones tecnológicas. Infraestructura de alto rendimiento para proyectos sin límites.

Sistemas Operativos
Navegación
Legal
Soporte
Discord
Comunidad oficial
Billing
Facturación y tickets
Panel de Control
Accede a tus servidores
Email Soporte
[email protected]

© 2026 Voriam Technologies · Powered by Pterodactyl

TérminosPrivacidadCookies