<h1> Erweiterte Berechtigungs- und Rollenverwaltung in Discord.js v14
<h2> Einführung
Erweiterte Berechtigungen und Rollenverwaltung sind ein entscheidender Aspekt bei der Erstellung von Discord-Bots. In diesem Artikel erfahren Sie, wie Sie mit Discord.js v14 erweiterte Berechtigungen und Rollenverwaltung implementieren.
<h2> Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Node.js und Discord.js v14 in Ihrem Projekt installiert sind. Sie können Discord.js mit npm oder Yarn installieren:
„Bash
npm installiere discord.js
„
Oder
„Bash
Garn hinzufügen discord.js
„
<h2> Grundkonfiguration
Zuerst müssen wir die Verbindung zur Discord-API konfigurieren. Erstellen Sie eine „config.json“-Datei mit der folgenden Struktur:
„json
{
„token“: „YOUR_TOKEN_DE_DISCORD“,
„guildId“: „DEINE_SERVER_ID“,
"Präfix": "!"
}
„
Erstellen Sie dann eine „index.js“-Datei mit dem folgenden Code:
„Javascript
const Discord = require('discord.js');
const config = require('./config.json');
const client = new Discord.Client({
Absichten: [
Discord.Intents.FLAGS.GUILDS,
Discord.Intents.FLAGS.GUILD_MESSAGES,
Discord.Intents.FLAGS.GUILD_MEMBERS,
],
});
client.on('ready', () => {
console.log('Bot bereit');
});
client.login(config.token);
„
<h2> Rollen und Berechtigungen erstellen
Um Rollen und Berechtigungen zu erstellen, müssen wir die Discord-API verwenden. Zuerst müssen wir die Liste der Serverrollen abrufen:
„Javascript
client.guilds.cache.get(config.guildId).roles.fetch().then(roles => {
console.log(roles);
});
„
Dann können wir eine neue Rolle erstellen:
„Javascript
const Role = Warten auf client.guilds.cache.get(config.guildId).roles.create({
Name: „Neue Rolle“,
Farbe: 'GRÜN',
Berechtigungen: [
{
id: client.guilds.cache.get(config.guildId).id,
erlauben: ['VIEW_CHANNEL', 'SEND_MESSAGES'],
},
],
});
console.log(role);
„
<h2> Rollen Berechtigungen zuweisen
Um Rollen Berechtigungen zuzuweisen, müssen wir die Discord-API verwenden. Zuerst müssen wir die Rolle erhalten, die wir ändern möchten:
„Javascript
const Role = Warten auf client.guilds.cache.get(config.guildId).roles.fetch('ROLE_ID');
„
Dann können wir der Rolle Berechtigungen hinzufügen:
„Javascript
Warten Sie auf Role.permissions.add('VIEW_CHANNEL');
Warten Sie auf Role.permissions.add('SEND_MESSAGES');
console.log(role.permissions);
„
<h2> Zuweisen von Rollen zu Mitgliedern
Um Mitgliedern Rollen zuzuweisen, müssen wir die Discord-API verwenden. Zuerst müssen wir das Mitglied erhalten, das wir ändern möchten:
„Javascript
const member = waiting client.guilds.cache.get(config.guildId).members.fetch('MEMBER_ID');
„
Dann können wir ihm eine Rolle zuweisen:
„Javascript
Warten Sie auf member.roles.add('ROLE_ID');
console.log(member.roles.cache);
„
<h2> Berechtigungen und Rollen entfernen
Um Berechtigungen und Rollen zu entfernen, müssen wir die Discord-API verwenden. Zuerst müssen wir die Rolle oder Berechtigung erhalten, die wir entfernen möchten:
„Javascript
const Role = Warten auf client.guilds.cache.get(config.guildId).roles.fetch('ROLE_ID');
const Erlaubnis = Warten auf Role.permissions.fetch('VIEW_CHANNEL');
„
Dann können wir die Berechtigung oder Rolle entfernen:
„Javascript
Warten Sie auf Role.permissions.remove('VIEW_CHANNEL');
Warten Sie auf Role.delete();
console.log(role);
„
<h2> Konfigurationstabelle
Nachfolgend präsentiere ich eine Konfigurationstabelle für die erweiterte Verwaltung von Berechtigungen und Rollen:
| Einstellungen | Beschreibung | Wert |
| --- | --- | --- |
| „Token“ | Discord-Token |
YOUR_DISCORD_TOKEN |
|
guildId | Server-ID |
IHRE_SERVER_ID |
|
Präfix | Befehlspräfix |
! |
| „Rollen“ | Serverrollen |
["ROL_ID_DEL1", "ROL_ID_DEL2",...] |
|
Berechtigungen | Rollenberechtigungen |
["VIEW_CHANNEL", "SEND_MESSAGES",...] |
<h2> Detaillierte Architektur
Im Folgenden stelle ich eine detaillierte Architektur für die erweiterte Berechtigungs- und Rollenverwaltung vor:
„Abschlag
+--------------+
| Einstellungen |
+--------------+
| Token |
| Gilden-ID |
| Präfix |
| Rollen |
| Berechtigungen |
+--------------+
+--------------+
| Rollen |
+--------------+
| ROLE_ID1 |
| ROLE_ID2 |
| ... |
+--------------+
+--------------+
| Berechtigungen |
+--------------+
| VIEW_CHANNEL |
| SEND_MESSAGES |
| ... |
+--------------+
+--------------+
| Mitglieder |
+--------------+
| MITGLIED_ID |
| ... |
+--------------+
„
<h2> Codebeispiele
Hier sind einige Codebeispiele für erweiterte Berechtigungen und Rollenverwaltung:
„Javascript
// Eine neue Rolle erstellen
const Role = Warten auf client.guilds.cache.get(config.guildId).roles.create({
Name: „Neue Rolle“,
Farbe: 'GRÜN',
Berechtigungen: [
{
id: client.guilds.cache.get(config.guildId).id,
erlauben: ['VIEW_CHANNEL', 'SEND_MESSAGES'],
},
],
});
// Einer Rolle Berechtigungen zuweisen
Warten Sie auf Role.permissions.add('VIEW_CHANNEL');
Warten Sie auf Role.permissions.add('SEND_MESSAGES');
// Einem Mitglied eine Rolle zuweisen
Warten Sie auf member.roles.add('ROLE_ID');
// Berechtigungen von einer Rolle entfernen
Warten Sie auf Role.permissions.remove('VIEW_CHANNEL');
// Eine Rolle löschen
Warten Sie auf Role.delete();
„
Ich hoffe, dass dieser technische Leitfaden für Sie nützlich war. Denken Sie daran, dass erweiterte Berechtigungen und Rollenverwaltung ein grundlegender Aspekt beim Erstellen von Discord-Bots sind und dass dieser Leitfaden nur ein Ausgangspunkt für Ihr Projekt ist. Viel Glück!