splash_auth

SERVICIO CONECTADO
INAUGURACIÓN DE NUEVA PAGINA!
Central Discord

Gestión Avanzada de Permisos y Roles en Discord.js v14

Sistema IA
4 MIN LECTURA
08 Jun 2026

<h1> Gestión Avanzada de Permisos y Roles en Discord.js v14

<h2> Introducción

La gestión avanzada de permisos y roles es un aspecto fundamental en la creación de bots de Discord. En este artículo, exploraremos cómo implementar una gestión avanzada de permisos y roles utilizando Discord.js v14.
Representación Técnica

<h2> Requisitos previos

Antes de comenzar, asegúrate de tener instalado Node.js y Discord.js v14 en tu proyecto. Puedes instalar Discord.js utilizando npm o yarn:
bash
npm install discord.js
O
bash
yarn add discord.js

<h2> Configuración básica

Primero, debemos configurar la conexión a la API de Discord. Crea un archivo config.json con la siguiente estructura:
json
{
"token": "TU_TOKEN_DE_DISCORD",
"guildId": "ID_DE_TU_SERVER",
"prefix": "!"
}
Luego, crea un archivo index.js con el siguiente código:
javascript
const Discord = require('discord.js');
const config = require('./config.json');

const client = new Discord.Client({
intents: [
Discord.Intents.FLAGS.GUILDS,
Discord.Intents.FLAGS.GUILD_MESSAGES,
Discord.Intents.FLAGS.GUILD_MEMBERS,
],
});

client.on('ready', () => {
console.log('Bot listo');
});

client.login(config.token);

<h2> Creación de roles y permisos

Para crear roles y permisos, debemos utilizar la API de Discord. Primero, debemos obtener la lista de roles del servidor:
javascript
client.guilds.cache.get(config.guildId).roles.fetch().then(roles => {
console.log(roles);
});
Luego, podemos crear un nuevo rol:
javascript
const role = await client.guilds.cache.get(config.guildId).roles.create({
name: 'Nuevo Rol',
color: 'GREEN',
permissions: [
{
id: client.guilds.cache.get(config.guildId).id,
allow: ['VIEW_CHANNEL', 'SEND_MESSAGES'],
},
],
});
console.log(role);

<h2> Asignación de permisos a roles

Para asignar permisos a roles, debemos utilizar la API de Discord. Primero, debemos obtener el rol que deseamos modificar:
javascript
const role = await client.guilds.cache.get(config.guildId).roles.fetch('ID_DEL_ROL');
Luego, podemos agregar permisos al rol:
javascript
await role.permissions.add('VIEW_CHANNEL');
await role.permissions.add('SEND_MESSAGES');
console.log(role.permissions);

<h2> Asignación de roles a miembros

Para asignar roles a miembros, debemos utilizar la API de Discord. Primero, debemos obtener el miembro que deseamos modificar:
javascript
const member = await client.guilds.cache.get(config.guildId).members.fetch('ID_DEL_MIEMBRO');
Luego, podemos asignarle un rol:
javascript
await member.roles.add('ID_DEL_ROL');
console.log(member.roles.cache);

<h2> Eliminación de permisos y roles

Para eliminar permisos y roles, debemos utilizar la API de Discord. Primero, debemos obtener el rol o permiso que deseamos eliminar:
javascript
const role = await client.guilds.cache.get(config.guildId).roles.fetch('ID_DEL_ROL');
const permission = await role.permissions.fetch('VIEW_CHANNEL');
Luego, podemos eliminar el permiso o rol:
javascript
await role.permissions.remove('VIEW_CHANNEL');
await role.delete();
console.log(role);

<h2> Tabla de configuración

A continuación, te presento una tabla de configuración para la gestión avanzada de permisos y roles:
| Configuración | Descripción | Valor |
| --- | --- | --- |
| token | Token de Discord | TU_TOKEN_DE_DISCORD |
| guildId | ID del servidor | ID_DE_TU_SERVER |
| prefix | Prefijo del comando | ! |
| roles | Roles del servidor | ["ID_DEL_ROL1", "ID_DEL_ROL2",...] |
| permissions | Permisos del rol | ["VIEW_CHANNEL", "SEND_MESSAGES",...] |

<h2> Arquitectura detallada

A continuación, te presento una arquitectura detallada para la gestión avanzada de permisos y roles:
markdown
+---------------+
| Configuración |
+---------------+
| token |
| guildId |
| prefix |
| roles |
| permissions |
+---------------+

+---------------+
| Roles |
+---------------+
| ID_DEL_ROL1 |
| ID_DEL_ROL2 |
| ... |
+---------------+

+---------------+
| Permisos |
+---------------+
| VIEW_CHANNEL |
| SEND_MESSAGES |
| ... |
+---------------+

+---------------+
| Miembros |
+---------------+
| ID_DEL_MIEMBRO |
| ... |
+---------------+

<h2> Ejemplos de código

A continuación, te presento algunos ejemplos de código para la gestión avanzada de permisos y roles:
javascript
// Crear un nuevo rol
const role = await client.guilds.cache.get(config.guildId).roles.create({
name: 'Nuevo Rol',
color: 'GREEN',
permissions: [
{
id: client.guilds.cache.get(config.guildId).id,
allow: ['VIEW_CHANNEL', 'SEND_MESSAGES'],
},
],
});

// Asignar permisos a un rol
await role.permissions.add('VIEW_CHANNEL');
await role.permissions.add('SEND_MESSAGES');

// Asignar un rol a un miembro
await member.roles.add('ID_DEL_ROL');

// Eliminar permisos de un rol
await role.permissions.remove('VIEW_CHANNEL');

// Eliminar un rol
await role.delete();
Espero que esta guía técnica te haya sido útil. Recuerda que la gestión avanzada de permisos y roles es un aspecto fundamental en la creación de bots de Discord, y que esta guía es solo un punto de partida para tu proyecto. ¡Buena suerte!