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
- Dashboard → Twój serwer → toggle Armory
- Kliknij Edit aby skonfigurować kanał ogłoszeń
- Zapisz zmiany
Konfiguracja
| Opcja | Typ | Domyślnie | Opis |
|---|---|---|---|
announcement_channel_id | string / null | null | Kanał na ogłoszenia o przypisaniach |
history_mode | string | "command" | Tryb historii: "command" lub "embed" |
history_message_id | string / null | null | ID wiadomości z historią (tryb embed) |
history_channel_id | string / null | null | Kanał 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ń.
| Parametr | Wymagany | Opis |
|---|---|---|
slot | ✅ | Numer slotu (1–8) |
alliance_name | ✅ | Nazwa sojuszu (wyszukiwanie ILIKE) |
Wymagania: Administrator lub aktualny prezydent.
Flow:
- Sprawdza uprawnienia (admin lub prezydent)
- Szuka sojuszu po nazwie (częściowe dopasowanie)
- Upsert przypisania na bieżący tydzień
- Wysyła embed ogłoszenia na
announcement_channel_id - Loguje przypisanie
/armory clear
Usuwa przypisanie sojuszu ze slotu na bieżący tydzień.
| Parametr | Wymagany | Opis |
|---|---|---|
slot | ✅ | Numer 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
| Akcja | Kto może |
|---|---|
| Assign / Clear | Administrator lub aktualny prezydent |
| Podgląd | Każdy (embed na kanale) |
System zbrojowni jest zaprojektowany do współpracy z modułem Presidents — prezydent odpowiada za cotygodniowy podział zbrojowni między sojusze.
Baza danych
| Tabela | Opis |
|---|---|
armory_slots | guild_id, slot_number, name, buff_description |
armory_assignments | guild_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
- Skonfiguruj
announcement_channel_idna 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
- Prezydent decyduje o podziale zbrojowni
- Używa
/armory assigndla każdego slotu - Bot wysyła embed z pełnym rozkładem
- Liderzy sojuszy widzą, który armory mają w tym tygodniu