Alliances
Allianzverwaltungssystem für die Dark War Survival Community. Befehle sind unter dem Präfix /alliance gruppiert.
Das Allianzsystem verwendet Ränge R1–R5:
- R5 — Anführer (einer pro Allianz, volle Berechtigungen)
- R4 — Offizier (einladen, R1–R3 kicken)
- R3–R1 — Mitglieder (keine Verwaltungsberechtigungen)
Befehle
/alliance create
Erstellt eine neue Allianz mit angegebenem Namen, Tag und Farbe. Erstellt automatisch eine Discord-Rolle im Format [TAG] Name.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| name | string | Ja | Allianzname (2–32 Zeichen: Buchstaben, Ziffern, Leerzeichen, Bindestriche) |
| tag | string | Ja | Kurztag (1–5 alphanumerische Zeichen, z.B. KNS) |
| color | string | Nein | Rollenfarbe im Hex-Format (Standard #5865F2) |
Berechtigungen: Server-Administrator, Management Roles oder R5 in einer beliebigen Allianz
Beispiel: /alliance create name:Knights tag:KNS color:#E74C3C
Erfolg: Erstellt Allianz, Discord-Rolle [KNS] Knights, fügt Ersteller als R5 hinzu, weist Rolle zu, fügt optional zu Reaction Roles hinzu
Fehler:
- Keine Berechtigungen
- Ungültiger Name (unerlaubte Zeichen oder Länge)
- Ungültiger Tag (nicht 1–5 alphanumerisch)
- Ungültiges Farbformat (nicht
#XXXXXX) - Allianz-Limit erreicht (Standard 10)
- Allianz mit diesem Namen existiert bereits
- Tag bereits von anderer Allianz belegt
- Bot kann keine Rolle erstellen (fehlende
manage_roles-Berechtigung)
Der Benutzer gibt KNS ein, das System speichert als [KNS] und erstellt die Rolle [KNS] Knights.
/alliance delete
Löscht eine Allianz — entfernt den Datenbankeintrag, löscht die Discord-Rolle von allen Mitgliedern, bereinigt Verknüpfungen.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| name | string | Ja | Name der zu löschenden Allianz |
Berechtigungen: Server-Administrator (ausschließlich)
Beispiel: /alliance delete name:Knights
Erfolg: Löscht Allianz, Rolle, Mitglieder aus der Datenbank, aktualisiert Reaction Roles
Fehler:
- Keine Administrator-Berechtigung
- Allianz nicht gefunden
- Datenbankfehler
/alliance invite
Lädt einen Benutzer in Ihre Allianz ein. Fügt ihn als R1 hinzu und weist die Discord-Rolle zu.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| member | Member | Ja | Einzuladender Benutzer |
Berechtigungen: R4 oder R5 in der eigenen Allianz
Beispiel: /alliance invite member:@NeuerSpieler
Erfolg: Fügt Mitglied als R1 hinzu, weist Allianzrolle zu
Fehler:
- Sie sind in keiner Allianz
- Ihr Rang ist unter R4
- Ziel ist bereits in Ihrer Allianz
- Ziel ist in einer anderen Allianz (muss zuerst verlassen)
- Allianz hat Mitgliederlimit erreicht (Standard 50)
/alliance kick
Wirft ein Mitglied aus Ihrer Allianz. Entfernt aus der Datenbank und entzieht die Discord-Rolle.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| member | Member | Ja | Zu entfernendes Mitglied |
Berechtigungen: R4 oder R5 in der eigenen Allianz
Beispiel: /alliance kick member:@InaktiverSpieler
Erfolg: Entfernt Mitglied, entzieht Rolle
Fehler:
- Sie sind in keiner Allianz
- Ihr Rang ist unter R4
- Ziel ist nicht in Ihrer Allianz
- R4 versucht R4 oder höher zu kicken (nicht erlaubt)
- Versuch sich selbst zu kicken (verwenden Sie
/alliance leave)
R4 kann nur Mitglieder mit Rang R1–R3 kicken. R5 kann alle außer sich selbst kicken.
/alliance leave
Verlässt Ihre aktuelle Allianz. Entzieht die Discord-Rolle.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| (keine) | — | — | — |
Berechtigungen: Jedes Allianzmitglied (außer R5)
Beispiel: /alliance leave
Erfolg: Entfernt Sie aus der Allianz, entzieht Rolle
Fehler:
- Sie sind in keiner Allianz
- Sie sind R5 — müssen zuerst die Führung übertragen (
/alliance transfer)
/alliance promote
Befördert ein Allianzmitglied um einen Rang (max bis R4).
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| member | Member | Ja | Zu beförderndes Mitglied |
Berechtigungen: R5 (nur Anführer)
Beispiel: /alliance promote member:@AktiverSpieler
Erfolg: Erhöht Rang um 1 (z.B. R2 → R3)
Fehler:
- Sie sind in keiner Allianz
- Sie haben nicht Rang R5
- Ziel ist nicht in Ihrer Allianz
- Ziel ist bereits R4 (maximale Beförderung — R5 kann nur übertragen werden)
/alliance demote
Degradiert ein Allianzmitglied um einen Rang (min R1).
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| member | Member | Ja | Zu degradierendes Mitglied |
Berechtigungen: R5 (nur Anführer)
Beispiel: /alliance demote member:@Spieler
Erfolg: Verringert Rang um 1 (z.B. R3 → R2)
Fehler:
- Sie sind in keiner Allianz
- Sie haben nicht Rang R5
- Ziel ist nicht in Ihrer Allianz
- Ziel ist bereits R1 (niedrigster Rang)
/alliance transfer
Übergibt die Führung (R5) an ein anderes Allianzmitglied. Sie werden R4.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| member | Member | Ja | Neuer Anführer |
Berechtigungen: R5 (nur aktueller Anführer)
Beispiel: /alliance transfer member:@NeuerAnführer
Erfolg: Ziel → R5, Sie → R4 (atomare Transaktion)
Fehler:
- Sie sind in keiner Allianz
- Sie haben nicht Rang R5
- Versuch an sich selbst zu übertragen
- Ziel ist nicht in Ihrer Allianz
/alliance info
Zeigt Allianzdetails: Mitgliederliste gruppiert nach Rängen, Erstellungsdatum, Rolle.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| name | string | Nein | Allianzname (wenn leer — zeigt Ihre Allianz) |
Berechtigungen: Jeder (Everyone)
Beispiel: /alliance info oder /alliance info name:Knights
Erfolg: Embed mit Allianzdaten (Farbe, Datum, Rolle, Mitgliederliste R5→R1)
Fehler:
- Kein Name angegeben und Sie sind in keiner Allianz
- Allianz nicht gefunden
/alliance list
Zeigt die Liste aller aktiven Allianzen auf dem Server.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| (keine) | — | — | — |
Berechtigungen: Jeder (Everyone)
Beispiel: /alliance list
Erfolg: Embed mit Allianzliste (Name, Mitgliederzahl, Anführer)
Fehler:
- Keine Allianzen auf dem Server (Information)
Automatische Verhaltensweisen
Auto-Sukzession
Wenn der Anführer (R5) den Server verlässt:
- Wenn andere Mitglieder vorhanden → der höchstrangige (dann nach Dienstalter) wird automatisch R5
- Wenn er das einzige Mitglied war → Allianz wird als inaktiv markiert
Integration mit Reaction Roles
Wenn auto_reaction_role in der Konfiguration aktiviert ist:
- Allianzerstellung → Rolle wird zum Reaction-Roles-Panel hinzugefügt
- Allianzlöschung → Rolle wird aus dem Panel entfernt
- Rollenzuweisung über Reaction Role → automatischer Beitritt zur Allianz als R1
- Rollenentfernung → automatisches Verlassen der Allianz
- Versuch einer zweiten Allianz über Reaction Role beizutreten → Rolle wird automatisch entfernt (Ablehnung)
Serververlassen
Wenn ein Allianzmitglied den Server verlässt, wird es automatisch aus der Allianz entfernt. Wenn es R5 war, wird die Auto-Sukzession ausgelöst.
Konfiguration
| Option | Beschreibung | Standardwert |
|---|---|---|
max_alliances | Maximale Allianzanzahl pro Server | 10 |
max_members | Maximale Mitgliederzahl pro Allianz | 50 |
auto_reaction_role | Integration mit Reaction-Roles-Panel | false |
reaction_role_index | Index des zu synchronisierenden RR-Panels | null (erstes) |
management_roles | Rollen, die Allianzen erstellen/verwalten können | keine |