Comprensión de los roles en discordjs

Los roles son una característica poderosa en Discord, este capitulo tiene como objetivo explicar cómo funcionan los roles y los permisos. También exploraremos cómo utilizar roles para proteger sus comandos

Antes de comenzar es necesario saber sobres las jerarquías de los roles en Discord, ir a gestionan de roles, Leelo y vuelve aquí.


Obtener un rol por nombre o identificador (ID)

Tal como hemos visto en el uso de colecciones vamos a obtener los elementos de un rol mediante un ID o nombre.

Obtener elementos de un rol por ID:


Obtener elementos de un rol por nombre:


Comprobando roles

Hemos visto como obtener un rol por nombre usando el metodo find(), podemos comprobar si el rol esta creado o no.

Ejemplo: 16, Comprobando si existe el rol llamado Administrador en el servidor.


Ejemplo 17: Comprobamos si el autor del mensaje tiene el rol Administrador.


Ejemplo 18: Tambien podemos comprobar si el autor del mensaje tiene un rol enviado por argumento.


Ejemplo 19: Tambien podemos comprobar cuantos miembros tienen un rol enviado por argumento.


Permisos

Los permisos son las caracteristicas de los roles, dando jerarquías a cada rol creado dentro de un servidor.

En los ejemplo 6 del el kick, podemos agregarle el permiso "KICK_MEMBERS" para darle una validación o seguridad al comando, esto quiere decir que solo los miembros que tengan el permiso de "KICK_MEMBERS" podran utilizar el comando. De igual manera para un comando Ban con el permiso de "BAN_MEMBERS".

Comprobando permisos

La forma de comprobar si un miembro tiene o no un permisos, es de la siguiente forma:


Ejemplo 20: comprobamos si el usuario tiene el permiso de expulsar


Ejemplo 21: comprobamos si el usuario tiene el permiso de Administrador


Lista de permisos

Esta es la lista de permisos que puedes usar para validar tus comandos:



Agregar roles

Ahora que ya sabes como obtener un rol y comprobar permisos, probablemente desea agregar un rol a un miembro. Discord.js proporciona 2 metodos practicos para agregar y remover un rol.

  • Para agregar un rol a un usuario usamos: roles.add()
  • Para remover un rol a un usuario usamos: roles.remove()

Ejemplo 22: Agregamos un rol a un miembro mencionandolo, tambien lo validamos con el permiso de Administrador de roles.


Ejemplo 23: Removemos un rol a un miembro mencionandolo, tambien lo validamos con el permiso de Administrador de roles.


Ejemplo 24: Tambien podemos agregar un rol enviado por argumento, es la manera basica de obtener roles autoasignables.


De igual manera puede hacer para remover un rol por argumento, reemplazando addRole() a removeRole().