Przejdź do głównej zawartości

Przypomnienie o pojedynku (Duel Reminder)

Moduł Duel Reminder automatycznie wysyła codzienne embedy z strategiami pojedynków dla Dark War Survival. Każdy dzień tygodnia ma własny szablon z dedykowaną strategią.

Włączanie modułu

  1. Dashboard → Twój serwer → toggle Duel Reminder
  2. Kliknij Edit i skonfiguruj kanał oraz godzinę wysyłania
  3. Zapisz zmiany

Konfiguracja

OpcjaTypDomyślnieOpis
channel_idstring / nullnullKanał na przypomnienia (wymagany)
send_hournumber (0–23)8Godzina wysłania
send_minutenumber (0–59)0Minuta wysłania
timezone_offsetnumber2Offset strefy czasowej (UTC+X)
last_message_idstring / nullID ostatniej wysłanej wiadomości (auto)
templatesobject / nullnullNiestandardowe szablony (null = domyślne)

Dashboard — konfiguracja

Panel edycji zawiera:

  • Channel — dropdown z kanałami tekstowymi
  • Send Time — pola godzina + minuta
  • Timezone — offset UTC (np. +2 dla CEST)
  • Templates — edycja szablonów per-dzień (opcjonalne)

Jak to działa

  1. Co minutę bot sprawdza, czy nadeszła skonfigurowana godzina
  2. Jeśli tak i jeszcze nie wysłano dzisiaj:
    • Usuwa wczorajszą wiadomość (aby kanał był czysty)
    • Buduje embed z szablonu danego dnia
    • Wysyła nową wiadomość
    • Zapisuje ID wiadomości (do usunięcia następnego dnia)

Czyszczenie kanału

Bot automatycznie usuwa poprzednią wiadomość przed wysłaniem nowej — dzięki temu kanał zawsze zawiera tylko aktualną strategię dnia.

Szablony

Szablony są zorganizowane per-dzień tygodnia:

{
"Monday": {
"content": "@everyone",
"embed": {
"title": "⚔️ Strategia Poniedziałku",
"description": "Dziś walczymy infanterią...",
"color": "#E74C3C",
"image": "https://...",
"footer": { "text": "Powodzenia!" }
}
},
"Tuesday": { ... },
"Wednesday": { ... },
...
}

Domyślne szablony

Jeśli templates w konfiguracji jest null, bot używa domyślnych szablonów z pliku duel_templates.json.

Niestandardowe szablony

Przez dashboard można nadpisać szablony dla każdego dnia tygodnia z własnym:

  • Tekstem nad embedem (content)
  • Tytułem embeda
  • Opisem (strategia)
  • Kolorem
  • Obrazkiem
  • Miniaturką
  • Footem

Komendy

/duel send

Ręcznie wysyła dzisiejsze przypomnienie (Admin only).

Przydatne do:

  • Pierwszego testu po konfiguracji
  • Ponownego wysłania jeśli coś poszło nie tak
  • Wymuszenia natychmiastowego wysłania

/duel preview

Podgląd dzisiejszego szablonu bez wysyłania na kanał (efemeralny).

Strefa czasowa

Bot używa konfigurowanego offsetu UTC do:

  • Określania "dzisiejszego" dnia tygodnia
  • Sprawdzania, czy nadeszła godzina wysyłania
Przykład

Ustawienie timezone_offset: 2 (UTC+2 / CEST) oznacza, że send_hour: 8 wyśle wiadomość o 8:00 czasu polskiego letniego (6:00 UTC).

Nasłuchiwane zdarzenia

Moduł nie nasłuchuje zdarzeń Discord — działa wyłącznie na zadaniu cyklicznym (tasks.loop).

Zadanie cykliczne

  • _daily_check — co minutę sprawdza wszystkie serwery z włączonym modułem

Wskazówki

Best practices
  • Ustaw send_hour na godzinę przed typowym czasem pojedynków w grze
  • Użyj content: "@everyone" w szablonie aby pingować cały serwer
  • Skonfiguruj dedykowany kanał (np. #duel-strategy) — bot utrzymuje tam tylko jedną wiadomość
  • Używaj obrazków w szablonach — wizualne strategie są bardziej czytelne
Testowanie

Użyj /duel preview aby zobaczyć jak wygląda dzisiejszy szablon bez wysyłania na kanał. Gdy będziesz zadowolony, /duel send wyśle go natychmiast.

ostrzeżenie

Moduł wymaga skonfigurowanego channel_id. Bez kanału przypomnienia nie będą wysyłane (ale bot nie zgłosi błędu — po prostu pominie serwer).