Cómo funcionan realmente los roles y los permisos en Discord
La jerarquía de roles, los bits de permiso y las modificaciones de canal: los tres conceptos que determinan lo que cualquier miembro o bot puede hacer realmente.
Quick answer
Un rol de Discord otorga permisos y ocupa un lugar en la jerarquía del servidor. Que una acción concreta esté permitida depende de tres factores conjuntos: los bits de permiso que otorgan los roles de un miembro, cualquier anulación específica del canal que permita o deniegue ese permiso en ese lugar y —en el caso de la gestión de otros miembros o roles— la posición que ocupa el rol en cuestión en la jerarquía, independientemente de los permisos que tenga.
What you'll learn
- En qué consiste realmente un rol: permisos más una posición en la jerarquía
- Por qué el orden de los roles en la lista es tan importante como los permisos concedidos
- Cómo las modificaciones de canal pueden anular la configuración predeterminada de todo el servidor
- ¿Por qué el administrador no se salta la jerarquía?
- Cómo afecta esto tanto a los miembros como a los bots
Por qué es tan habitual la confusión entre roles y permisos
El sistema de permisos de Discord realiza varias funciones realmente distintas bajo un mismo concepto de «roles» —otorgar capacidades, establecer jerarquías de autoridad y delimitar el acceso por canal— y mezclarlas es la principal causa de la confusión que genera la pregunta «¿por qué esta persona o este bot no puede hacer eso?» en cualquier servidor.
Las tres cosas que controla realmente un rol
Entender que se trata de tres mecanismos distintos, y no de uno solo, aclara de inmediato la mayor parte de la confusión.
Permisos: lo que concede un rol
Cada rol cuenta con un conjunto de bits de permiso (enviar mensajes, gestionar roles, expulsar a miembros, etc.). Los permisos efectivos de un miembro se derivan de la combinación de todos los roles que ostenta.
Jerarquía: quién puede dirigir a quién
Los roles ocupan una posición en una lista ordenada (Configuración del servidor → Roles). Un miembro o un bot solo puede gestionar los roles y los miembros que se encuentran por debajo de su propio rol más alto; esto se aplica independientemente de los permisos que tengan.
Sobrescrituras de canal — excepciones por canal
Un canal o categoría concretos pueden conceder o denegar un permiso a un rol o miembro específico, anulando la configuración predeterminada a nivel de servidor en cualquier sentido. Un rol puede tener el permiso «Enviar mensajes» a nivel de servidor y, aun así, que se le deniegue dicho permiso en un canal concreto.
Por qué esto es importante, concretamente, para los bots
Todas y cada una de las funciones de Airwavy que dependen de un rol —verificación, roles de reacción, moderación, roles de recompensa por subir de nivel— dependen de que esto se haga correctamente, ya que un bot está sujeto exactamente a las mismas tres reglas que un miembro humano.
- El rol propio de Airwavy debe estar por encima de cualquier rol que se espere que conceda o gestione; el hecho de incluir el rol de «Administrador» no cambia esto.
- Una función puede tener todos los permisos de Discord que necesite y, aun así, fallar si la configuración de un canal concreto la rechaza allí.
- Por eso, cuando se dice «tiene derechos de administrador, ¿por qué no funciona?», casi siempre se trata en realidad de un problema de jerarquía o de sobrescritura de canales, y no de que falte un permiso.
Cómo razonar ante un problema real relacionado con los permisos
- Identifica la acción concreta, el rol o el bot que la está intentando realizar, y el miembro, rol o canal al que va dirigida.
- Comprueba qué permiso requiere esa acción y si el rol que la lleva a cabo lo tiene realmente —a nivel de todo el servidor—.
- Comprueba si existe una configuración específica del canal que pueda impedirlo allí, aunque la configuración predeterminada para todo el servidor lo permita.
- Para cualquier asunto relacionado con la gestión de otro cargo o miembro, compara la posición en la jerarquía: ¿el cargo que lo ocupa está realmente por encima del cargo en cuestión?
- Soluciona el problema que realmente está dando error, en lugar de conceder permisos más amplios a ciegas.
Errores habituales
- Permitir que el administrador solucione un problema de permisos en lugar de identificar qué permiso concreto o qué problema de jerarquía es el que realmente lo está bloqueando.
- Olvidar que el orden de los roles en la lista es, en sí mismo, un mecanismo de permisos, y no solo una opción de ordenación visual.
- Se da por hecho que un permiso concedido a nivel de servidor se aplica en todas partes, sin comprobar si se sobrescribe en los canales.
- Considerar la asignación de funciones de un bot como un paso de configuración que solo hay que realizar una vez, en lugar de algo que haya que volver a comprobar tras añadir nuevas funciones.
Solución de problemas
No es posible gestionar un rol o un miembro, ni siquiera con los permisos adecuados
Comprueba la jerarquía: el rol interino debe situarse por encima del rol más alto del destinatario. Los bits de permiso por sí solos no anulan esta regla.
Un permiso funciona en un canal, pero no en otro
Comprueba las configuraciones específicas de ese canal, ya que pueden denegar un permiso que la configuración predeterminada para todo el servidor permite.
No estoy seguro de qué permiso requiere una acción concreta
Consulta la documentación de referencia del comando o la función en cuestión: en cada una de ellas se indican explícitamente los permisos necesarios.