¿Tu bot de Discord no funciona por falta de permisos?
Cuando un bot de Discord no responde o muestra “Missing Permissions”, empieza por el canal y la función que fallaron. El módulo gratuito Permission Check añade el comando /diagnose, que entrega al administrador un informe privado y de solo lectura con los permisos del bot, la jerarquía de roles guardada y las dependencias de intents. El informe sugiere dónde mirar; tú aplicas el cambio y repites la prueba.
Crea tu bot gratisEmpieza gratis. Pro cuesta 9,99 USD al mes.
Antes de empezar
- Ten un bot conectado en un servidor de prueba y una cuenta con Manage Server. Activa Permission Check para ese bot y servidor; está disponible en Free.
- Anota el módulo, comando y canal que fallaron. Repite primero una acción segura, especialmente si estás probando moderación o cambios de roles.
- Necesitarás revisar el rol del bot, los permisos del canal y los roles de destino. Para los intents, también puede hacer falta acceso a la aplicación en Discord Developer Portal.
Activa Permission Check y ejecuta /diagnose
Abre la pestaña Modules de tu bot, activa Permission Check y, en Discord, ejecuta /diagnose en el canal afectado con una cuenta que tenga Manage Server. Es un comando slash, no un comando con prefijo; además, el módulo vuelve a comprobar el permiso antes de leer los datos.
La respuesta es privada para quien la solicita. Si el informe es largo, llega como el archivo privado permission-check.txt. El comando lee el miembro del bot, los roles del servidor y la configuración guardada; no cambia permisos, roles ni ajustes.
Compara los permisos del servidor con las excepciones del canal
El informe separa los permisos del servidor de los permisos efectivos del canal donde ejecutaste /diagnose, incluidas las excepciones del canal y de su categoría. Un permiso aprobado a nivel de servidor pero denegado en ese canal apunta a Server Settings → Roles o a Channel Settings → Permissions.
Ejecuta /diagnose en cada canal importante: el resultado de un canal no prueba que el bot pueda escribir o ver otro. Un resultado desconocido significa que no pudo inspeccionar ese permiso, no que esté correcto.
Revisa la jerarquía de roles, no solo Manage Roles
Para las funciones que gestionan roles, Permission Check revisa los roles de destino guardados y señala roles inexistentes, @everyone, roles gestionados por una integración y roles que estén al mismo nivel o por encima del rol más alto del bot. En Server Settings → Roles, coloca el rol del bot estrictamente por encima del rol normal que debe asignar.
El informe no intenta asignar un rol. Un rol elegido en el momento de ejecutar un comando puede necesitar una comprobación adicional, y el miembro objetivo también puede estar por encima del bot o ser el propietario del servidor.
Distingue el acceso al comando de los permisos de la acción
Los permisos para usar un comando slash y los permisos que necesita la acción son comprobaciones distintas. Un informe limpio del bot no demuestra que todos los miembros puedan ejecutar otro comando; revisa también sus permisos de comando y las excepciones de Discord.
Una respuesta privada de /diagnose no necesita que el bot tenga Send Messages o Embed Links en el canal. El informe puede señalar esos permisos para una función que publica mensajes, así que comprueba el canal y la acción reales antes de conceder permisos amplios.
Comprueba los intents y repite la función que falló
Si el informe indica que falta un intent solicitado, abre Discord Developer Portal → Bot → Privileged Gateway Intents, activa el interruptor que marca la lista de comprobación y pulsa Save Changes. Después vuelve al panel, elige Check again y regenera el bot si el módulo dependiente lo requiere. El informe no puede verificar por ti si el interruptor del Portal está activado o aprobado.
Aplica solo el cambio pertinente, ejecuta /diagnose otra vez en el canal afectado y repite la acción original. Permission Check ayuda a localizar el problema, pero no desbloquea módulos Pro ni corrige permisos automáticamente.
Preguntas frecuentes
¿Quién puede ejecutar /diagnose?
Una persona con Manage Server en un servidor donde Permission Check esté activado. El comando comprueba ese permiso antes de generar el informe.
¿/diagnose arregla los permisos automáticamente?
No. El informe privado es de solo lectura: sugiere correcciones, pero no cambia roles, permisos ni ajustes.
¿Comprueba todos los canales y los interruptores del Developer Portal?
No. Revisa el canal donde lo ejecutas y deja sin verificar los interruptores del Developer Portal; debes comprobarlos allí.
¿Permission Check está incluido en Free?
Sí. Permission Check es un módulo gratuito y opcional; los demás módulos conservan sus propios requisitos de plan.
