Polls
Quick Polls
Einfache Abstimmungen mit Reaktions-Emojis.
Erstellen
Discord:
/poll question:Welche Map spielen wir? options:Ascent,Haven,Bind duration:30API:
bash
POST /api/actions/poll
{
"question": "Welche Map spielen wir?",
"options": ["Ascent", "Haven", "Bind"],
"duration": 30
}Funktionsweise
- Bot sendet Embed mit Frage und Optionen
- Nummerierte Emoji-Reaktionen werden hinzugefuegt (1️⃣, 2️⃣, 3️⃣, ...)
- Spieler klicken auf Reaktionen zum Abstimmen
- Jeder Spieler kann nur eine Option waehlen (bei Mehrfach-Reaktion wird die alte entfernt)
- Nach Ablauf der Zeit werden die Ergebnisse angezeigt
Ergebnis-Anzeige
Nach Ablauf:
- Poll-Nachricht wird geloescht
- Neue Nachricht mit Ergebnissen wird gepostet
- Zeigt Stimmenanzahl pro Option und Gewinner
Wiederherstellung
Bei Bot-Neustart werden laufende Polls automatisch wiederhergestellt:
- Offene Polls werden aus dem internen Speicher geladen
- Remaining-Timer werden neu berechnet
- Reaction-Listener werden neu registriert
Training-Start Polls
Spezieller Poll-Typ zur Abstimmung ueber die Trainings-Startzeit.
Automatisch
Wenn scheduling.trainingPollEnabled aktiv ist, wird bei jedem Schedule-Post automatisch ein Training-Poll erstellt.
Manuell
Discord:
/send-training-pollAPI:
bash
POST /api/actions/training-pollZeitberechnung
Die Poll-Optionen werden automatisch aus den Verfuegbarkeiten berechnet:
Spieler-Verfuegbarkeiten:
Player1: 14:00 - 20:00
Player2: 16:00 - 22:00
Player3: 14:00 - 20:00
Player4: 18:00 - 22:00
Sub1: 14:00 - 22:00
Berechnete Optionen:
1️⃣ 16:00 (fruehest moeglicher Start mit Sub)
2️⃣ 18:00 (alle verfuegbar)
3️⃣ 19:00 (spaeterer Start)Die Optionen basieren auf den gemeinsamen Zeitfenstern und priorisieren Zeiten mit maximaler Spieler-Ueberlappung.
Toggle
Der automatische Training-Poll kann ein-/ausgeschaltet werden:
/training-start-pollOder ueber die Admin-Settings im Dashboard.
Poll-Architektur
Basis-Klasse (pollBase.ts)
Gemeinsame Logik fuer alle Poll-Typen:
- Vote-Tracking pro User
- Reaktions-Handler (Add/Remove)
- Timer-Management
- Ergebnis-Berechnung
Quick Poll (polls.ts)
Erweitert die Basis um:
- Frei konfigurierbare Fragen und Optionen
- Flexible Dauer
- Emoji-basierte Optionen
Training Poll (trainingStartPoll.ts)
Erweitert die Basis um:
- Automatische Optionsberechnung aus Verfuegbarkeiten
- Integration mit Schedule-Post
- Wiederherstellung nach Neustart
