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)
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")
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:
| Modul | Einstellung | Optionen |
|---|---|---|
| Suggestions | manage_permission | "moderation_roles" oder "custom" + manage_roles |
| Polls | create_permission | "everyone", "moderation_roles" oder "custom" + create_roles |
| Message Builder | send_permission | "moderation_roles" oder "custom" + send_roles |
| Presidents | appoint_roles | Liste der Rollen, die den Präsidenten ernennen können |
| Alliances | management_roles | Liste der Rollen, die Allianzen verwalten |
4. Allianz-Ränge (R1–R5)
Internes System des Moduls Alliances:
| Rang | Berechtigungen |
|---|---|
| R5 (Anführer) | Alles: promote, demote, invite, kick, transfer |
| R4 (Offizier) | Invite, kick (nur R1–R3) |
| R3 | Keine Verwaltungsberechtigungen |
| R2 | Keine Verwaltungsberechtigungen |
| R1 | Keine 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?
- Discord-Administratoren — automatischer Zugang
- 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.
Verwenden Sie diese Funktion, um vertrauenswürdigen Moderatoren Dashboard-Zugang zu gewähren, ohne ihnen volle Administrator-Berechtigungen auf dem Discord-Server zu geben.
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
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:
- Ist das Modul aktiviert? → Prüfung von
enabled_cogs(Decorator@guild_cog_enabled) - Hat der Benutzer eine Rolle aus der Liste? → Prüfung von
moderation_rolesoder custom roles - Erlaubt die Rollenhierarchie dies? → Vergleich der Rollenpositionen (Auslöser vs. Ziel)
- 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 (wenncreate_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