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().