📋 Features
- Mitgliederverwaltung: Mitglieder hinzufügen, befördern, degradieren, umbenennen und kicken
- Trello-Integration: Automatische Synchronisation von Rängen und Rollen mit Trello-Boards
- Ticket-System: Multi-Kategorie-Support mit rollenbasierten Benachrichtigungen
- Trainings-System: Umfassendes Ausbildungsmanagement mit Trello-Checklisten
- Abwesenheitsverwaltung: Abmeldungen mit automatischer Label-Bereinigung
- Management-Panel: Zentralisiertes Interface für häufige Aktionen
- Log-Benachrichtigungen: Konfigurierbare Logs für alle wichtigen Events
🔗 Bot-Einladung
Erforderliche Berechtigungen
Der Bot benötigt folgende Discord-Berechtigungen:
- Administrator (empfohlen für volle Funktionalität)
Alternativ mindestens:
- Rollen verwalten
- Kanäle verwalten
- Nachrichten lesen/senden
- Threads erstellen
- Nachrichten verwalten
- Eingebettete Links
- Dateien anhängen
- Nachrichtenverlauf lesen
- Slash-Befehle verwenden
⚙️ Setup-Anleitung für Server-Admins
Nach dem Einladen des Bots auf deinen Server, folge diesen Schritten:
0. Berechtigungen für Befehle konfigurieren (Optional)
Standardmäßig können nur Administratoren die Bot-Befehle verwenden. Um anderen Rollen oder Mitgliedern Zugriff zu geben:
- Gehe zu Server-Einstellungen → Integrationen
- Finde den EGM Fraktions Bot in der Liste
- Klicke auf den Bot, um die Befehls-Berechtigungen zu öffnen
- Für jeden Befehl oder alle Befehle zusammen:
- Klicke auf das ⚙️ Zahnrad-Symbol
- Füge Rollen oder Kanäle hinzu, die den Befehl verwenden dürfen
- Oder entferne die Standard-Administrator-Beschränkung
Empfohlene Berechtigungen:
- Setup-Befehle (
/trello-setup, /ticket-setup, etc.): Nur Administratoren/Moderatoren
- Mitgliederverwaltung (
/member-add, /member-promote, etc.): Führungsrollen/HR-Rollen
- Ticket-Befehle (
/ticket-close): Support-Team
- Training-Befehle: Ausbildungsleiter/Trainer
1. Trello-Verbindung einrichten
Erforderlich für: Mitgliederverwaltung, Trainings, Abwesenheiten
/trello-setup
- Klicke auf den generierten OAuth-Link
- Autorisiere den Zugriff auf dein Trello-Konto
- Wähle das Trello-Board aus, das für die Mitgliederverwaltung verwendet werden soll
- Der Bot erstellt automatisch eine Template-Karte im niedrigsten Rang
Wichtig: Die Person, die diesen Befehl ausführt, muss Zugriff auf das Trello-Board haben.
2. Ränge konfigurieren
Erforderlich für: Mitgliederverwaltung
/trello-rang
Für jeden Rang in deiner Fraktion/Organisation:
- Wähle die Trello-Liste (Spalte) aus, die diesem Rang entspricht
- Wähle die Discord-Rollen aus, die diesem Rang zugeordnet werden sollen (mehrere möglich)
- Setze das Power-Level (höher = ranghöher, z.B. 10, 20, 30)
Hinweise:
- Der niedrigste Rang sollte Power-Level 10 haben
- Lasse Lücken zwischen den Levels (z.B. 10, 20, 30) für spätere Einfügungen
- Die Rollen werden automatisch synchronisiert bei Beförderungen/Degradierungen
- Ränge werden automatisch alle 30 Minuten nach Power-Level sortiert
- Standardmäßig werden Ränge von niedrig nach hoch sortiert (aufsteigend)
- Mit
/trello-config kannst du die Sortierung auf hoch nach niedrig umstellen
3. Mitglieder-Logs konfigurieren (Optional aber empfohlen)
Aktiviert Benachrichtigungen für: Mitgliederaktionen
/member-logs
Wähle für jede Log-Art den Kanal und optional eine Benachrichtigungsrolle:
- ➕ Mitglied hinzugefügt: Wenn ein neues Mitglied registriert wird
- ➖ Mitglied entfernt: Wenn ein Mitglied gekickt wird oder freiwillig geht
- ⬆️ Mitglied befördert: Bei Beförderungen
- ⬇️ Mitglied degradiert: Bei Degradierungen
- ✏️ Mitglied umbenannt: Bei Namensänderungen
- 📅 Mitglied abgemeldet: Bei Abwesenheitsmeldungen
Empfehlung: Richte mindestens einen Log-Kanal für alle Aktionen ein.
4. Ticket-System einrichten (Optional)
Erforderlich für: Support-Tickets
/ticket-setup
- Wähle den Kanal, in dem die Ticket-Nachricht angezeigt werden soll
- Passe Titel, Beschreibung und Design an
/ticket-category
Für jede Ticket-Kategorie:
- Gib einen Namen ein (z.B. "Support", "Bewerbung", "Beschwerde")
- Wähle ein Emoji
- Wähle die Discord-Kategorie, in der Tickets erstellt werden
- Wähle optional Rollen, die bei neuen Tickets benachrichtigt werden
5. Trainings-System einrichten (Optional)
Erforderlich für: Ausbildungsverwaltung
/training-add
Für jede Ausbildung/Fortbildung:
- Gib den Namen ein (z.B. "Erste Hilfe", "Fahrzeugkunde")
- Wähle eine Kategorie (z.B. "Grundausbildung", "Spezialausbildung")
- Wähle optional Trainer-Rollen (mehrere möglich - alle ausgewählten Rollen können die Ausbildung durchführen)
- Wähle optional eine Abschluss-Rolle (wird bei Erfolg vergeben)
Automatische Synchronisation:
- Neue Mitglieder erhalten automatisch alle Trainings als Checklisten auf ihrer Trello-Karte
- Bestehende Mitglieder erhalten neue Trainings sofort hinzugefügt
Hinweis: Du kannst bis zu 25 verschiedene Trainer-Rollen pro Fortbildung auswählen. Wenn keine Rolle ausgewählt wird, kann jeder die Fortbildung durchführen.
/training-logs
Konfiguriere Log-Benachrichtigungen für:
- ✅ Training erfolgreich: Bei erfolgreichem Abschluss
- ❌ Training nicht bestanden: Bei nicht bestandenem Training
6. Management-Panel erstellen (Optional aber empfohlen)
Ermöglicht Mitgliedern: Abmeldungen, Trainings durchführen
/management-setup
- Wähle den Kanal für das Panel
- Passe Titel, Beschreibung und Design an
Panel-Funktionen:
- 📅 Abwesenheit melden: Mitglieder können sich abmelden (erstellt Trello-Label)
- 📚 Training durchführen: Trainer können Trainings durchführen (nur mit Berechtigung)
Hinweis: Abwesenheits-Labels werden automatisch 7 Tage nach Ablauf entfernt.
📝 Verfügbare Befehle
Basis-Befehle
/help - Zeigt alle verfügbaren Befehle
/ping - Prüft die Bot-Latenz
Trello-Setup (Admin)
/trello-setup - Trello-Verbindung einrichten
/trello-rang - Ränge konfigurieren
/trello-config - Trello-Einstellungen konfigurieren (Rang-Sortierung)
/trello-disconnect - Trello-Verbindung trennen
Mitgliederverwaltung (Admin)
/member-add <user> <name> - Neues Mitglied hinzufügen
/member-promote <user> - Mitglied befördern
/member-demote <user> - Mitglied degradieren
/member-rename <user> <name> - Mitglied umbenennen
/member-kick <user> <grund> - Mitglied entfernen
/member-logs - Log-Benachrichtigungen konfigurieren
Trainings-Verwaltung (Admin)
/training-add - Neue Ausbildung hinzufügen
/training-list - Alle Ausbildungen anzeigen
/training-remove - Ausbildung entfernen
/training-logs - Training-Logs konfigurieren
Ticket-System (Admin)
/ticket-setup - Ticket-Nachricht erstellen
/ticket-category - Ticket-Kategorie hinzufügen
/ticket-close - Aktuelles Ticket schließen
Management-Panel (Admin)
/management-setup - Management-Panel erstellen
❓ Häufig gestellte Fragen
Q: Was passiert, wenn ich ein Mitglied befördere?
A: Der Bot verschiebt die Trello-Karte in die nächste Liste, entfernt die alten Rang-Rollen, fügt die neuen hinzu und sendet eine Log-Benachrichtigung.
Q: Kann ich Ränge nachträglich ändern?
A: Ja, verwende einfach /trello-rang erneut. Bestehende Mitglieder behalten ihre Position, aber neue Rollen werden synchronisiert.
Q: Was ist das Power-Level?
A: Das Power-Level bestimmt die Hierarchie der Ränge. Höhere Zahlen = höherer Rang. Verwende Lücken (10, 20, 30) für spätere Einfügungen.
Q: Kann ich die Sortierung der Trello-Spalten ändern?
A: Ja! Mit /trello-config kannst du zwischen zwei Sortierungen wählen:
- Niedrig nach hoch (Standard): Neueinsteiger links, erfahrene Mitglieder rechts
- Hoch nach niedrig: Führungskräfte links, Neueinsteiger rechts
Die Spalten werden automatisch neu angeordnet.
Q: Werden Trainings automatisch synchronisiert?
A: Ja! Neue Trainings werden sofort auf alle bestehenden Mitglieder-Karten hinzugefügt. Entfernte Trainings werden von allen Karten entfernt.
Q: Können mehrere Rollen eine Fortbildung durchführen?
A: Ja! Beim Erstellen einer Fortbildung mit /training-add kannst du bis zu 25 verschiedene Trainer-Rollen auswählen. Alle ausgewählten Rollen können die Fortbildung durchführen. Wenn keine Rolle ausgewählt wird, kann jedes Mitglied die Fortbildung durchführen.
Q: Wie funktioniert die Abwesenheitsverwaltung?
A: Mitglieder melden sich über das Management-Panel ab. Der Bot erstellt ein gelbes Label auf ihrer Trello-Karte im Format "Abgemeldet DD.MM.YYYY-DD.MM.YYYY". Labels werden 7 Tage nach Ablauf automatisch entfernt.
Q: Muss ich alle Features einrichten?
A: Nein. Die Trello-Verbindung und Ränge sind erforderlich für die Mitgliederverwaltung. Tickets, Trainings und Management-Panel sind optional.
Q: Was passiert bei einem Bot-Neustart?
A: Alle Konfigurationen bleiben erhalten. Background-Jobs (Rang-Sortierung, Label-Cleanup) starten automatisch.
Q: Was wird gelöscht, wenn ich die Trello-Verbindung trenne?
A: Der /trello-disconnect Befehl entfernt:
- Die Board-Verbindung und verschlüsseltes Token
- Alle konfigurierten Ränge
- Alle registrierten Mitglieder (Datenbank-Einträge)
- Alle Fortbildungen und Abschluss-Aufzeichnungen
- Alle Log-Konfigurationen
Wichtig: Die Trello-Listen, Karten und Labels bleiben auf deinem Trello-Board unverändert. Nur die Bot-Verbindung wird getrennt.
Q: Wie kann ich nicht-Admins Zugriff auf Befehle geben?
A: Gehe zu Server-Einstellungen → Integrationen → EGM Fraktions Bot und konfiguriere die Berechtigungen für jeden Befehl. Du kannst bestimmte Rollen oder Kanäle freigeben.
🔧 Technische Details
- Sprache: Go 1.22.5
- Datenbank: MySQL (GORM)
- APIs: Discord API (discordgo), Trello API
- Verschlüsselung: AES-256 für Trello-Tokens
- Background-Jobs:
- Rang-Sortierung (alle 30 Minuten)
- Label-Cleanup (alle 6 Stunden)
EGM Fraktions Bot - Version 1.0