Invitaste un bot de Discord a tu servidor, pero cuando tú o tus miembros intentan usar sus comandos, el bot responde con un error “Missing Access” o simplemente no hace nada. Este error significa que el bot carece de los permisos necesarios para leer, enviar mensajes o realizar sus acciones designadas en canales específicos o en todo el servidor. La causa raíz casi siempre es una discrepancia entre los permisos otorgados al rol del bot y los permisos requeridos por los comandos de barra o los intents de mensajes del bot. Este artículo proporciona una auditoría de permisos estructurada que puedes seguir para identificar y corregir el error de acceso faltante en cualquier bot de Discord.
Puntos clave: auditoría de permisos de bots de Discord
- Configuración del servidor > Roles > Rol del bot: Otorga al rol del bot los permisos exactos que se indican en la documentación del bot o en el enlace de invitación.
- Anulaciones de permisos por canal: Comprueba que el rol del bot no tenga denegados permisos clave como Leer mensajes o Enviar mensajes en el canal donde se usan los comandos.
- Portal para desarrolladores del bot > OAuth2 > Generador de URL: Vuelve a invitar al bot usando una URL que incluya el scope correcto (bot) y todos los permisos requeridos.
Por qué los bots de Discord muestran “Missing Access”
Los bots de Discord funcionan a través de un rol que se les asigna cuando se unen a un servidor. Este rol, que normalmente lleva el nombre del bot, debe tener permisos específicos habilitados. Cuando el bot intenta una acción que su rol no permite, Discord devuelve un error “Missing Access”. El error puede aparecer en tres capas principales:
1. Permisos a nivel de rol
El propio rol del bot puede carecer de las opciones necesarias. Por ejemplo, un bot de música necesita “Conectar” y “Hablar” en canales de voz, mientras que un bot de moderación necesita “Expulsar miembros” y “Banear miembros”. Si el rol no tiene estos permisos, el bot no puede ejecutar esos comandos.
2. Anulaciones de permisos por canal
Aunque el rol del bot tenga permisos globales, los canales individuales pueden anularlos. Un canal configurado para denegar “Leer mensajes” al rol del bot impedirá que el bot vea o responda en ese canal.
3. Intents del bot e intents privilegiados del gateway
Algunos bots requieren “Server Members Intent” o “Message Content Intent” para funcionar. Estos intents se habilitan en el Portal para desarrolladores de Discord, en la configuración del bot. Si el desarrollador del bot no los habilitó, el bot puede fallar silenciosamente o mostrar “Missing Access” al intentar leer listas de miembros o el contenido de los mensajes.
Pasos para auditar y corregir los permisos del bot
- Identifica los permisos requeridos por el bot
Abre la documentación del bot, su página de soporte o el enlace de invitación original. La mayoría de los bots enumeran los permisos exactos que necesitan. Anota los nombres de los permisos, como “Leer mensajes”, “Enviar mensajes”, “Gestionar mensajes”, “Conectar”, “Hablar”, “Expulsar miembros” o “Banear miembros”. - Comprueba el rol del bot en la Configuración del servidor
Ve a tu servidor, abre la Configuración del servidor y haz clic en Roles. Busca el rol con el nombre del bot. Haz clic en él. Recorre las opciones de permisos. Habilita todos los permisos que el bot requiera. Si el bot requiere “Administrador”, puedes habilitar ese único permiso para cubrir todos los demás, pero ten en cuenta que esto otorga al bot control total sobre el servidor. - Verifica las anulaciones específicas por canal
Haz clic derecho en el canal donde el bot no funciona y selecciona Editar canal. Ve a la pestaña Permisos. Busca el rol del bot en la lista. Asegúrate de que aparezcan marcas de verificación verdes para los permisos requeridos. Si ves marcas X rojas para Leer mensajes o Enviar mensajes, cámbialas a la barra gris neutra o a una marca de verificación verde. Repite esto para cada canal donde el bot deba operar. - Comprueba la posición del rol del bot
En Configuración del servidor > Roles, observa el orden de la lista de roles. El rol del bot debe estar situado por encima de cualquier rol que necesite gestionar. Para los bots de moderación, el rol del bot debe estar por encima de los roles que se espera que expulse o banee. Arrastra el rol del bot más arriba en la lista si es necesario. - Vuelve a invitar al bot con los permisos correctos
Si el bot sigue mostrando “Missing Access”, genera una nueva URL de invitación. Ve al Portal para desarrolladores de Discord, selecciona tu aplicación y haz clic en OAuth2 > Generador de URL. Marca el scope “bot”. En la sección Bot Permissions, habilita exactamente los permisos que el bot necesita. Copia la URL generada, ábrela en un navegador y vuelve a invitar al bot a tu servidor. Este paso garantiza que el rol del bot se cree con el conjunto de permisos correcto desde el principio. - Habilita los intents privilegiados del gateway (si eres el desarrollador del bot)
Si eres el propietario del bot, ve al Portal para desarrolladores de Discord, selecciona tu aplicación y haz clic en Bot en el menú de la izquierda. Desplázate hasta la sección Privileged Gateway Intents. Habilita “Server Members Intent” y “Message Content Intent” si tu bot los necesita. Guarda los cambios y reinicia el bot.
Si Discord sigue teniendo problemas después de la corrección principal
Los comandos del bot funcionan en algunos canales pero no en otros
Esto indica que las anulaciones de permisos específicas por canal están bloqueando al bot. Revisa los permisos de cada canal para el rol del bot. Usa la pestaña Editar canal > Permisos del canal y asegúrate de que no aparezca ninguna X roja para Enviar mensajes o Leer mensajes.
El bot no responde a los comandos de barra en absoluto
Los comandos de barra requieren el permiso “Usar comandos de barra” en el rol del bot. Este permiso suele estar habilitado de forma predeterminada, pero puede deshabilitarse accidentalmente. Revisa las opciones de permisos del rol del bot y habilita “Usar comandos de barra”. Verifica también que el bot tenga el scope “applications.commands” en su URL de invitación.
El bot muestra “Missing Access” después de una actualización del servidor o un cambio de rol
Discord a veces restablece los permisos de los roles durante las actualizaciones del servidor o cuando se reorganizan los roles. Vuelve a ejecutar la auditoría de permisos comenzando desde el paso 2. Si el rol del bot se eliminó, debes volver a invitar al bot para crear un rol nuevo.
El bot no puede ver a los miembros ni el contenido de los mensajes
Esto es un problema de intents privilegiados. Si eres el desarrollador del bot, habilita Server Members Intent y Message Content Intent en el Portal para desarrolladores. Si eres un administrador del servidor que usa un bot de terceros, contacta con el equipo de soporte del bot para preguntar si esos intents están habilitados de su lado.
Permisos del rol del bot frente al permiso de Administrador
| Elemento | Rol del bot con permisos específicos | Rol del bot con Administrador |
|---|---|---|
| Descripción | Permisos individuales habilitados para acciones exactas | Un permiso que otorga todos los demás permisos |
| Riesgo de seguridad | Bajo — el bot solo puede hacer lo que está habilitado | Alto — el bot puede eliminar canales, banear a cualquiera, cambiar la configuración del servidor |
| Recomendado para | La mayoría de los bots, especialmente de desarrolladores desconocidos | Bots de confianza que necesitan control total del servidor, como los bots de moderación |
| Facilidad de auditoría | Requiere revisar cada opción de permiso | Sencilla — una sola opción lo cubre todo |
Auditar los permisos de un bot es un proceso sencillo una vez que sabes dónde buscar. Después de completar los pasos anteriores, prueba el bot ejecutando un comando simple como /help o /ping. Si el bot responde, el error “Missing Access” está resuelto. Para futuras incorporaciones de bots, genera siempre una URL de invitación con los permisos exactos que el bot necesita para evitar este error desde el principio. Como consejo avanzado, puedes usar el visor de permisos integrado de Discord seleccionando el rol del bot en Configuración del servidor > Roles y haciendo clic en el botón “Ver permisos” para ver los permisos efectivos en cualquier canal.