Skip to main content
Guías
GuíasRolesBasics

Roles y permisos en Discord: por qué tu bot no puede asignar ese rol

La jerarquía de roles es la causa más común de que algo no funcione en Discord. Entiéndela una vez y te ahorrarás horas buscando el fallo.

Publicado el por AlphaCloud4 min de lectura

Hay una situación por la que todo dueño de servidor pasa tarde o temprano: un bot debería asignar un rol y no lo hace. El bot tiene Administrador. El ajuste está guardado. Aun así no pasa nada.

La causa es casi siempre la misma, y no tiene nada que ver con los permisos.

Dos sistemas, no uno

Discord decide en dos pasos separados si alguien puede hacer algo:

  1. El permiso. ¿Puede este rol gestionar roles?
  2. La posición. ¿Está este rol lo bastante alto como para tocar el rol de destino?

La mayoría solo conoce el primer paso. Es en el segundo donde falla.

La regla en una frase

Un miembro, bot incluido, solo puede dar y quitar roles que estén por debajo de su propio rol más alto. Y solo puede moderar a miembros cuyo rol más alto esté por debajo del suyo.

Esto se aplica incluso con Administrador. Administrador anula los permisos, no la jerarquía. Un bot con Administrador cuyo rol está al final de la lista no puede hacer prácticamente nada.

Un ejemplo

Tu lista de roles se ve así, de arriba abajo:

Owner
Administrator
Moderator
AlphaCloud          <- the bot's role
Verified
Member

Lo que el bot puede hacer:

  • Dar y quitar Verified y Member
  • Moderar a miembros cuyo rol más alto sea Verified o Member

Lo que el bot no puede hacer:

  • Dar Moderator, porque ese rol está por encima
  • Expulsar, banear o renombrar a un moderador
  • Tocar a un administrador

Si quieres que el bot pueda dar el rol de moderador, tienes que arrastrar su rol por encima de Moderator. No al revés.

El consejo práctico

Pon el rol del bot justo debajo de tu rol de equipo más alto. Así:

Owner
Administrator
AlphaCloud          <- here
Moderator
Verified
Member

Así el bot puede gestionar todo lo que está por debajo de la dirección sin poder tocar a la propia dirección. Eso es casi siempre exactamente lo que quieres.

El orden se cambia en Ajustes del servidor, Roles, arrastrando.

Tres casos especiales que seguirán sin funcionar

Incluso con una jerarquía perfecta, hay tres cosas que Discord nunca permite a un bot:

Renombrar o moderar al dueño del servidor. El dueño está fuera de la jerarquía. Ningún rol ni permiso cambia eso.

Editar roles en la misma posición. Dos roles a la misma altura no pueden tocarse entre sí. Tiene que estar realmente por encima, no al mismo nivel.

Dar el rol @everyone. Todo el mundo lo tiene automáticamente, no se puede asignar.

Los permisos del canal ganan a los del servidor

El segundo caso más común: según su rol, el bot puede enviar mensajes, pero no lo hace justo en un canal.

Discord permite excepciones por canal a los permisos del servidor. Si en un canal Enviar mensajes está denegado explícitamente para @everyone o para uno de los roles del bot, eso gana, diga lo que diga el rol del servidor.

Puedes comprobarlo directamente: ajustes del canal, Permisos, y arriba selecciona el bot en Ver permisos de. Discord te muestra entonces exactamente qué puede hacer en ese canal.

Qué permiso para qué

Si prefieres no darle Administrador sin más a un bot, esta es la lista realista:

Tarea Permiso
Asignar roles Gestionar roles
Tickets, canales temporales Gestionar canales
Borrar spam Gestionar mensajes
Silenciar Aislar temporalmente a miembros
Quitar Expulsar miembros, Banear miembros
Mover al canal AFK Mover miembros
Prefijos en apodos Gestionar apodos
Saber quién lanzó una acción Ver el registro de auditoría

Administrador sigue siendo la opción práctica si usas muchas funciones. No porque sea más seguro, sino porque de lo contrario cada función nueva te manda a buscar el único permiso que falta. En cualquier caso, la jerarquía sigue siendo la palanca más importante.

La versión corta para resolver problemas

Cuando algo no funcione, repasa estas cuatro preguntas por orden:

  1. ¿Está el rol del bot por encima del rol en cuestión?
  2. ¿Está el rol del bot por encima del miembro en cuestión?
  3. ¿Tiene el bot el permiso correspondiente a nivel de servidor?
  4. ¿Está ese permiso denegado explícitamente en este canal?

En nueve de cada diez casos es la pregunta 1 o la 2.

Más artículos