Error ‘application did not respond’ del bot de Discord: solución
🔍 WiseChecker

Error ‘application did not respond’ del bot de Discord: solución

Cuando invitas un bot de Discord y aparece el mensaje “Application Did Not Respond” en la ventana de autorización, el bot no se puede añadir a tu servidor. Este error suele ocurrir porque Discord no puede alcanzar el servidor backend del bot en 5 segundos. El problema a menudo se debe a un token de bot caducado, una configuración incorrecta de OAuth2 o un firewall que bloquea el servidor del bot. Este artículo explica por qué aparece el error y proporciona soluciones paso a paso para que el bot vuelva a conectarse.

Puntos clave: Solucionar el error de bot “Application Did Not Respond”

  • Discord Developer Portal > Applications > OAuth2 > General: Verifica que la Redirect URI coincida exactamente con el endpoint de callback de tu bot para evitar errores de tiempo de espera.
  • Regeneración del token del bot: Genera un nuevo token en la sección Bot para solucionar fallos de autenticación causados por tokens filtrados o caducados.
  • Reglas de firewall del servidor: Permite el tráfico HTTPS saliente en el puerto 443 desde tu servidor de bot hacia los endpoints de la API de Discord para resolver los tiempos de espera de conexión.

ADVERTISEMENT

Por qué ocurre el error “Application Did Not Respond”

El error “Application Did Not Respond” ocurre durante el flujo de autorización OAuth2. Cuando un usuario hace clic en “Authorize” en Discord, Discord envía una solicitud al servidor del bot usando la redirect URI especificada en la configuración de la aplicación. El servidor del bot debe responder en 5 segundos con un código de confirmación o una página de éxito. Si Discord no recibe una respuesta a tiempo, muestra el error y cancela la autorización.

Hay tres causas raíz comunes de este tiempo de espera:

Token de bot caducado o no válido

El token del bot es una clave secreta que autentica tu bot con la API de Discord. Si el token se regenera, se filtra o se cambia manualmente en el Developer Portal, el token antiguo deja de ser válido. Cuando el bot intenta responder a la solicitud de autorización con un token no válido, Discord rechaza la respuesta, lo que provoca un tiempo de espera.

URI de redireccionamiento OAuth2 incorrecta

La redirect URI es la URL donde Discord envía el código de autorización después de que el usuario aprueba el bot. Esta URI debe coincidir exactamente —incluidos el protocolo (http o https), el dominio, el puerto y la ruta— con el endpoint en el que tu bot está escuchando. Una discrepancia hace que Discord envíe la solicitud a la ubicación incorrecta y el bot nunca la recibe.

Bloqueo por firewall o red

Tu servidor de bot debe poder recibir conexiones HTTPS entrantes en el puerto 443. Si un firewall, un proxy inverso o un grupo de seguridad en la nube bloquea el tráfico entrante, Discord no puede alcanzar tu bot. El bot puede estar ejecutándose localmente, pero si el servidor está detrás de un NAT o VPN sin reenvío de puertos, la conexión falla.

Pasos para solucionar el error “Application Did Not Respond”

Sigue estos pasos en orden. Prueba la invitación del bot después de cada paso para ver si el error se ha resuelto.

Paso 1: Verificar el token del bot

  1. Abre el Discord Developer Portal
    Ve a https://discord.com/developers/applications e inicia sesión con tu cuenta de Discord.
  2. Selecciona tu aplicación
    Haz clic en el nombre de la aplicación que corresponde al bot que muestra el error.
  3. Navega a la sección Bot
    En la barra lateral izquierda, haz clic en Bot.
  4. Regenera el token
    En el encabezado Token, haz clic en Regenerate Token. Confirma la acción. Copia el nuevo token inmediatamente; no se volverá a mostrar.
  5. Actualiza el código de tu bot
    Reemplaza el token antiguo en el archivo de configuración o la variable de entorno de tu bot con el nuevo token. Reinicia el proceso del bot.

Paso 2: Comprobar la redirect URI

  1. Ve a OAuth2 > General
    En la misma aplicación, haz clic en OAuth2 en la barra lateral izquierda y luego en General.
  2. Localiza la sección Redirects
    Desplázate hasta la sección Redirects.
  3. Añade o corrige la redirect URI
    La URI debe ser la URL exacta donde tu bot escucha la respuesta de autorización. Para un bot local, usa algo como http://localhost:8000/callback. Para un bot alojado, usa la URL pública como https://yourdomain.com/callback. Haz clic en Add Another si es necesario y luego en Save Changes.
  4. Prueba la URL de invitación
    Ve a OAuth2 > URL Generator, selecciona el scope bot y copia la URL generada. Pégala en un navegador e intenta autorizar el bot de nuevo.

Paso 3: Verificar la conectividad de red

  1. Comprueba las reglas de firewall de entrada
    En el servidor que ejecuta el bot, asegúrate de que se permite el tráfico HTTPS entrante en el puerto 443. Para proveedores en la nube como AWS, revisa las reglas de entrada del grupo de seguridad. Para servidores locales, revisa Windows Firewall o iptables.
  2. Prueba la accesibilidad del puerto
    Desde una herramienta externa como canyouseeme.org, introduce el puerto 443 y la IP pública de tu servidor. Si el puerto no es visible, configura el reenvío de puertos en tu router o abre el firewall de la nube.
  3. Usa un proxy inverso si es necesario
    Si tu bot se ejecuta en un puerto no estándar (por ejemplo, 8000), configura un proxy inverso como Nginx o Caddy para reenviar el tráfico del puerto 443 al puerto del bot. Actualiza la redirect URI para que coincida con la URL del proxy.

ADVERTISEMENT

Si el bot sigue mostrando el error después de la solución principal

El bot se desconecta después de regenerar el token

Si el bot se desconecta después de regenerar el token, el nuevo token no se guardó en la configuración del bot. Verifica que el token en tu código coincida con el que se muestra en el Developer Portal. Además, asegúrate de que el proceso del bot se reinició después del cambio de token.

La ventana de autorización se cierra inmediatamente sin error

Esto normalmente significa que la redirect URI es correcta, pero el servidor del bot no devuelve ninguna respuesta HTTP. Revisa los registros de la consola del bot en busca de excepciones no controladas. Los problemas comunes incluyen dependencias faltantes, variables de entorno incorrectas o un error de sintaxis en la ruta de callback.

El error aparece solo para algunos usuarios

Si el error ocurre para algunos usuarios pero no para otros, el problema puede ser un problema de DNS regional. Intenta usar un proveedor de DNS diferente como Cloudflare (1.1.1.1) o Google (8.8.8.8) en el servidor del bot. Como alternativa, comprueba si tu proveedor de alojamiento bloquea el tráfico de determinadas regiones geográficas.

Métodos de invitación de bots de Discord: URL de OAuth2 vs invitación del Developer Portal

Elemento Generador de URL de OAuth2 Invitación del Developer Portal
Ubicación de acceso Discord Developer Portal > OAuth2 > URL Generator Discord Developer Portal > OAuth2 > General > Generate New Link
Personalización Selecciona scopes y permisos manualmente Usa el scope de bot predeterminado con todos los permisos
Requisito de redirect URI Debe configurarse en la pestaña General Debe configurarse en la pestaña General
Mejor caso de uso Añadir un bot con permisos específicos Prueba rápida o añadir un bot con permisos completos

Después de solucionar el error “Application Did Not Respond”, prueba la invitación del bot usando ambos métodos para confirmar que el problema se ha resuelto. Si el error persiste después de probar todos los pasos, considera usar un proveedor de alojamiento diferente o cambiar a un servicio de alojamiento de bots gestionado que gestione las redirecciones de OAuth2 automáticamente.

ADVERTISEMENT