Zum Hauptinhalt springen

Berechtigungssystem

ArcBot verwendet ein mehrstufiges Berechtigungssystem, das native Discord-Berechtigungen mit eigener per-Server-Konfiguration kombiniert.

Zugriffsebenen

1. Discord-Administrator

Benutzer mit der Berechtigung Administrator auf dem Server haben vollen Zugriff auf:

  • Das Konfigurationspanel (Dashboard)
  • Ernennung/Entfernung des Präsidenten
  • Allianz-Verwaltung (Erstellung, Löschung)
  • Eventplanung
  • Genehmigung/Ablehnung von Vorschlägen, Erstellung von Umfragen, Versand von Embeds (Bypass der Rollenkonfiguration)
Ausnahme: Moderationsbefehle

Moderationsbefehle (/ban, /kick, /mute usw.) haben keinen automatischen Bypass für Administratoren. Der Benutzer muss eine Rolle aus der Liste moderation_roles besitzen, auch wenn er die Administrator-Berechtigung hat.

2. Moderationsrollen (moderation_roles)

Zentraler Berechtigungsmechanismus für die meisten Bot-Funktionen. Rollenliste, die in den Einstellungen des Moduls Moderation konfiguriert wird.

Befehle, die eine Moderationsrolle erfordern:

  • /ban, /kick, /mute, /unmute
  • /warn, /warnings
  • /clear, /setnick
  • /role add, /role remove

Andere Module, die auf moderation_roles verweisen:

  • Suggestions — Genehmigung/Ablehnung von Vorschlägen (wenn manage_permission = "moderation_roles")
  • Polls — Erstellung von Umfragen (wenn create_permission = "moderation_roles")
  • Message Builder — Versand von Embeds (wenn send_permission = "moderation_roles")
Konfiguration

Dashboard → Ihr Server → Edit Moderation → Abschnitt "Moderation Roles"

Fügen Sie Rollen hinzu, die als Moderatoren fungieren sollen. Sie können mehrere Rollen hinzufügen.

3. Per-Modul-Berechtigungen (Custom Roles)

Einige Module ermöglichen die Konfiguration eigener Rollenlisten, unabhängig von moderation_roles:

ModulEinstellungOptionen
Suggestionsmanage_permission"moderation_roles" oder "custom" + manage_roles
Pollscreate_permission"everyone", "moderation_roles" oder "custom" + create_roles
Message Buildersend_permission"moderation_roles" oder "custom" + send_roles
Presidentsappoint_rolesListe der Rollen, die den Präsidenten ernennen können
Alliancesmanagement_rolesListe der Rollen, die Allianzen verwalten

4. Allianz-Ränge (R1–R5)

Internes System des Moduls Alliances:

RangBerechtigungen
R5 (Anführer)Alles: promote, demote, invite, kick, transfer
R4 (Offizier)Invite, kick (nur R1–R3)
R3Keine Verwaltungsberechtigungen
R2Keine Verwaltungsberechtigungen
R1Keine Verwaltungsberechtigungen

5. Präsident

Der aktuelle Serverpräsident (Modul Presidents) hat zusätzliche Berechtigungen:

  • Erlasse ausgeben (/president decree)
  • Waffenkammer-Slots verwalten (/armory assign, /armory clear)

Dashboard-Zugang

Wer kann das Dashboard nutzen?

  1. Discord-Administratoren — automatischer Zugang
  2. Dashboard Users — manuell zur Liste hinzugefügte Benutzer

Konfiguration von Dashboard Users

In den Servereinstellungen (Kachel Settings) gibt es den Abschnitt Dashboard Users. Er ermöglicht es, Personen ohne Administrator-Berechtigung Zugang zum Konfigurationspanel zu gewähren.

tipp

Verwenden Sie diese Funktion, um vertrauenswürdigen Moderatoren Dashboard-Zugang zu gewähren, ohne ihnen volle Administrator-Berechtigungen auf dem Discord-Server zu geben.

warnung

Dashboard Users haben vollen Zugriff auf die Bot-Konfiguration für den jeweiligen Server — sie können Module ein-/ausschalten, Einstellungen ändern usw. Fügen Sie nur vertrauenswürdige Personen hinzu.

Discord-Rollenhierarchie

Der Bot respektiert die Discord-Rollenhierarchie bei der Ausführung von Moderationsaktionen:

  • Ein Moderator kann nicht Benutzer mit einer höheren Rolle bannen/kicken/muten
  • Der Bot kann nicht Rollen verwalten, die höher als seine eigene Rolle sind
  • Der Bot kann nicht Benutzer mit einer höheren Rolle als die Bot-Rolle bannen/kicken/muten
Owner
├── Admin ← Moderator kann Admin NICHT moderieren
├── [ArcBot] ← Bot-Rolle — muss höher als verwaltete Rollen sein
├── Moderator ← kann moderieren: Mitglied
├── Mitglied
└── @everyone
Häufiges Problem

Wenn der Bot trotz korrekter Konfiguration "Missing permission" antwortet, überprüfen Sie die Position der Bot-Rolle in Servereinstellungen → Rollen. Die Bot-Rolle muss höher sein als die Rollen, die er verwalten soll.

Berechtigungsprüfung — Flow

Wenn ein Benutzer einen Befehl aufruft:

  1. Ist das Modul aktiviert? → Prüfung von enabled_cogs (Decorator @guild_cog_enabled)
  2. Hat der Benutzer eine Rolle aus der Liste? → Prüfung von moderation_roles oder custom roles
  3. Erlaubt die Rollenhierarchie dies? → Vergleich der Rollenpositionen (Auslöser vs. Ziel)
  4. Hat der Bot Discord-Berechtigungen? → Prüfung von bot.guild_permissions

Wenn einer dieser Schritte fehlschlägt, erhält der Benutzer eine ephemerale (nur für ihn sichtbare) Nachricht mit dem entsprechenden Fehler.

Befehle ohne Einschränkungen

Folgende Befehle erfordern keine besonderen Berechtigungen (für jeden verfügbar):

  • /suggest — Vorschläge einreichen (es sei denn, der Server beschränkt dies auf bestimmte Rollen)
  • /poll — Umfragen erstellen (wenn create_permission = "everyone")
  • /setlang — Sprachpräferenzen festlegen
  • /languages — Liste verfügbarer Sprachen
  • /alliance info — Allianz-Informationen anzeigen
  • /alliance list — Allianzliste
  • /alliance leave — Allianz verlassen
  • /event list — Liste kommender Ereignisse
  • /president info — Informationen zum aktuellen Präsidenten
  • /president history — Präsidentenhistorie