Przejdź do głównej zawartości

Zbrojownia (Armory)

Moduł Armory zarządza systemem rotacji zbrojowni w Dark War Survival: 8 slotów z buffami, tygodniowe przypisania do sojuszy i ogłoszenia o aktualnym rozkładzie.

Włączanie modułu

  1. Dashboard → Twój serwer → toggle Armory
  2. Kliknij Edit aby skonfigurować kanał ogłoszeń
  3. Zapisz zmiany

Konfiguracja

OpcjaTypDomyślnieOpis
announcement_channel_idstring / nullnullKanał na ogłoszenia o przypisaniach
history_modestring"command"Tryb historii: "command" lub "embed"
history_message_idstring / nullnullID wiadomości z historią (tryb embed)
history_channel_idstring / nullnullKanał historii (tryb embed)

Sloty zbrojowni

Każdy serwer ma 8 slotów zbrojowni (tworzonych automatycznie):

  • Numer (1–8)
  • Nazwa (konfigurowana w dashboardzie)
  • Opis buffa

Sloty przechowywane w tabeli armory_slots.

Dashboard — konfiguracja

Panel edycji Armory zawiera:

  • Announcement Channel — dropdown z kanałami
  • Slots Configuration — edycja nazw i opisów 8 slotów
  • Current Assignments — podgląd aktualnego tygodnia

Komendy

/armory assign

Przypisuje sojusz do slotu zbrojowni na bieżący tydzień.

ParametrWymaganyOpis
slotNumer slotu (1–8)
alliance_nameNazwa sojuszu (wyszukiwanie ILIKE)

Wymagania: Administrator lub aktualny prezydent.

Flow:

  1. Sprawdza uprawnienia (admin lub prezydent)
  2. Szuka sojuszu po nazwie (częściowe dopasowanie)
  3. Upsert przypisania na bieżący tydzień
  4. Wysyła embed ogłoszenia na announcement_channel_id
  5. Loguje przypisanie

/armory clear

Usuwa przypisanie sojuszu ze slotu na bieżący tydzień.

ParametrWymaganyOpis
slotNumer slotu (1–8)

Wymagania: Administrator lub aktualny prezydent.

Tygodniowa rotacja

Przypisania są oparte na tygodniach:

  • Tydzień zaczyna się w poniedziałek 00:00 UTC
  • Każdy tydzień ma osobny zestaw przypisań
  • Stare przypisania pozostają w historii

Format ogłoszenia

Embed ogłoszeniowy zawiera:

  • Tytuł: "🏰 Armory Assignments"
  • Opis: "Week of [data]"
  • 8 pól (jedno na slot): nazwa slotu + przypisany sojusz + opis buffa
  • Footer z datą aktualizacji
┌─────────────────────────────────────┐
│ 🏰 Armory Assignments │
│ Week of June 9, 2026 │
├─────────────────────────────────────┤
│ 1. Infantry Armory │
│ **Alliance Alpha** │
│ +10% Infantry Attack │
│ │
│ 2. Cavalry Armory │
│ *Unassigned* │
│ +10% Cavalry Defense │
│ ... │
└─────────────────────────────────────┘

Uprawnienia

AkcjaKto może
Assign / ClearAdministrator lub aktualny prezydent
PodglądKażdy (embed na kanale)
Prezydent + Armory

System zbrojowni jest zaprojektowany do współpracy z modułem Presidents — prezydent odpowiada za cotygodniowy podział zbrojowni między sojusze.

Baza danych

TabelaOpis
armory_slotsguild_id, slot_number, name, buff_description
armory_assignmentsguild_id, slot_number, alliance_id, week_start, assigned_by, assigned_at

Constraint: UNIQUE(guild_id, slot_number, week_start) — jeden sojusz na slot na tydzień.

Logowanie

Akcje logowane przez Logs pod kategorią armory:

  • 🏰 Armory Assigned — numer slotu, sojusz, kto przypisał
  • 🏰 Armory Cleared — numer slotu

Wskazówki

Best practices
  • Skonfiguruj announcement_channel_id na kanał widoczny dla liderów sojuszy
  • Nadaj slotom opisowe nazwy odpowiadające buffom w grze
  • Rotuj przypisania co tydzień aby zapewnić sprawiedliwy dostęp
  • Prezydent powinien wykonywać przypisania na początku każdego tygodnia
Workflow
  1. Prezydent decyduje o podziale zbrojowni
  2. Używa /armory assign dla każdego slotu
  3. Bot wysyła embed z pełnym rozkładem
  4. Liderzy sojuszy widzą, który armory mają w tym tygodniu