Wie erlaube ich einer bestimmten Rolle in discord.js einen Channel zu sehen?
Ich möchte, dass man nur mit einer bestimmten Rolle einen Channel sehen kann. Kann mir jemand helfen?
2 Antworten
Ist ganz easy, sobald du einen Channel erstellt hast und diesen auswählst oder drüberhoverst, kommt ein kleines Zahnrädchen "Kanal bearbeiten" <- Da klickst du drauf.
Jetzt kommst du in die Channelübersicht, da gehst du einfach auf "Berechtigungen". Falls nötig scrollst du etwas runter bis zu "Erweitere Berechtigungen" Da wählst du jetzt die Rolle aus die diesen Channel sehen soll. Z.b. Rolle "Support" -> Kanal Anzeigen -> Grüner Haken. Wichtig ist, dass du bei den anderen Rollen dann ein rotes Kreuz einträgst, die diesen Channel ggf. nicht sehen sollen.
Denk ebenfalls daran, dass Admin und bestimmte Rollen, die den Server verwalten können, den Channel sehen können
Das weiß ich auch, aber ich möchte das anhand meines Discord Bots umsetzten
Ich gehe mal von aus, du hast den Basiscode bereits?
const role = interaction.guild.roles.cache.find(role => role.name === 'Admin');
const channel = interaction.guild.channels.cache.get('channel123');
if (role && channel) {
channel.updateOverwrite(role, { VIEW_CHANNEL: true })
.then(console.log(`Erfolgreich Zugriff für die Rolle ${role.name} gewährt.`))
.catch(console.error);
} else {
console.log('Rolle oder Kanal nicht gefunden.');
}