Zum Hauptinhalt springen

Duel Reminder

Tägliche Erinnerungen an Duellstrategien in Dark War Survival. Der Bot sendet zu einer konfigurierten Uhrzeit ein Embed mit einer tagesspezifischen Vorlage. Vor dem Senden einer neuen Nachricht wird die gestrige gelöscht.

Befehle

/duel send

Sendet manuell die heutige Duell-Erinnerung (zum Testen oder bei Erstverwendung).

ParameterTypErforderlichBeschreibung
(keine)

Berechtigungen: Server-Administrator

Beispiel: /duel send

Erfolg:

  1. Löscht die vorherige Erinnerungsnachricht (falls vorhanden)
  2. Sendet die heutige Vorlage an den konfigurierten Kanal
  3. Speichert last_message_id in der Konfiguration
  4. Ephemerale Bestätigung "✅ Duel reminder sent!"

Fehler:

  • Keine Administrator-Berechtigung
  • Kanal nicht konfiguriert
  • Keine Vorlage für den heutigen Tag
  • Bot hat keine Schreibberechtigung im Kanal

/duel preview

Vorschau der heutigen Erinnerungsvorlage ohne Versand an den Kanal.

ParameterTypErforderlichBeschreibung
(keine)

Berechtigungen: Jeder (Everyone) — Antwort ist ephemeral

Beispiel: /duel preview

Erfolg: Ephemerales Embed mit heutiger Vorlage (Content + Embed)
Fehler:

  • Keine Vorlage für den heutigen Tag

Automatischer Versand

Der Bot prüft jede Minute, ob es Zeit zum Senden ist:

  1. Iteriert über alle Server mit aktiviertem Cog duel_reminder
  2. Prüft ob now.hour == send_hour und now.minute == send_minute (in der Zeitzone des Servers)
  3. Prüft ob heute noch nicht gesendet wurde (Deduplizierung)
  4. Wenn Bedingungen erfüllt → ruft _send_daily_reminder auf

Sendeverhalten

  1. Löscht die vorherige Nachricht (last_message_id)
  2. Ruft die Vorlage für den heutigen Wochentag ab
  3. Baut Embed aus der Vorlage
  4. Sendet an den Kanal
  5. Speichert neue last_message_id
Anti-Spam

Jeden Tag ist genau eine Erinnerungsnachricht im Kanal. Die vorherige wird automatisch gelöscht, sodass der Kanal sauber bleibt.


Vorlagen

Jeder Wochentag hat eine eigene Vorlage. Der Bot liefert Standardvorlagen in der Datei duel_templates.json, die im Dashboard überschrieben werden können.

Vorlagenstruktur

{
"Monday": {
"content": "@everyone Heutige Duelle!",
"embed": {
"title": "⚔️ Montagsstrategie",
"description": "Heute kämpfen wir...",
"color": "#E74C3C",
"image": "https://...",
"thumbnail": "https://...",
"footer": { "text": "Dark War Survival" },
"author": { "name": "Duel Master", "icon_url": "https://..." }
}
},
"Tuesday": { ... },
"Wednesday": { ... },
...
}

Vorlagenpriorität

  1. Vorlagen aus cog_settings.duel_reminder.templates (Dashboard) — höhere Priorität
  2. Standard aus duel_templates.json — Fallback

Konfiguration

OptionBeschreibungStandardwert
channel_idKanal für Erinnerungenkeine (erforderlich)
send_hourSendestunde (24h)8
send_minuteSendeminute0
timezone_offsetUTC-Offset (z.B. 2 für MESZ)2
last_message_idID der zuletzt gesendeten Nachricht (auto)null
templatesBenutzerdefinierte Vorlagen pro Tagnull (Standard verwenden)
Erforderliche Konfiguration

channel_id muss im Dashboard festgelegt werden. Ohne ihn sendet der Cog keine Erinnerungen (weder automatisch noch über /duel send).

Zeitzone

timezone_offset: 2 bedeutet UTC+2 (Mitteleuropäische Sommerzeit). Ändern Sie auf 1 im Winter (MEZ) oder passen Sie an die Zeitzone Ihres Servers an.