Przejdź do głównej zawartości

Logi

Moduł Logs zapewnia scentralizowany system logowania akcji wykonywanych przez inne moduły bota. Każda kategoria logów może być kierowana na osobny kanał z indywidualnym kolorem embeda.

Włączanie modułu

  1. Dashboard → Twój serwer → toggle Logs
  2. Kliknij Edit aby skonfigurować poszczególne kategorie logów
  3. Dla każdej kategorii: włącz toggle, wybierz kanał, opcjonalnie zmień kolor
  4. Zapisz zmiany
Walidacja

Nie można zapisać włączonej kategorii logów bez wybranego kanału. Dashboard podświetli brakujące pole i wyświetli komunikat błędu.

Kategorie logów

KategoriaLogowane akcje
moderationBan, kick, mute, unmute, warn, clear, setnick, role add/remove, przekroczenie progu ostrzeżeń
welcomeMember joined, member left
reaction_rolesRole added/removed via buttons, dropdown, reactions + błędy (brakująca rola)
suggestionsSuggestion created, approved, rejected
pollsPoll created, poll closed
message_builderEmbed sent
alliancesAlliance created/deleted, member added/removed/promoted/demoted, leadership transfer, auto-succession
presidentsPresident appointed, removed, decree issued
armoryArmory slot assigned, cleared

Konfiguracja

Każda kategoria logów ma trzy ustawienia:

OpcjaTypOpis
enabledbooleanCzy ta kategoria jest aktywna
channel_idstringID kanału docelowego
colorstring (hex)Kolor embeda logów (opcjonalny)

Przykład konfiguracji (JSON)

{
"logs": {
"moderation": {
"enabled": true,
"channel_id": "1234567890",
"color": "#5865F2"
},
"welcome": {
"enabled": true,
"channel_id": "1234567890",
"color": "#22C55E"
},
"alliances": {
"enabled": true,
"channel_id": "9876543210",
"color": "#10B981"
}
}
}

Dashboard — konfiguracja

Panel edycji Logs wyświetla siatkę kafelków (tile grid) — jeden na kategorię:

Każdy kafelek zawiera:

  • Tytuł kategorii + krótki opis
  • Toggle — włącz/wyłącz
  • Channel Select — dropdown z kanałami tekstowymi
  • Color Picker — klikalna próbka koloru + hex input

Wszystkie kategorie zapisywane są jednym kliknięciem Save (UnsavedBar).

Format logów

Każdy log to embed Discord z następującą strukturą:

┌─────────────────────────────┐
│ 🔨 Ban │ ← tytuł z emoji akcji
├─────────────────────────────┤
│ Target: @User (ID: 123) │
│ Moderator: @Mod (ID: 456) │
│ Reason: Spamowanie │
├─────────────────────────────┤
│ 2026-06-12T10:30:00Z │ ← ISO timestamp w footerze
└─────────────────────────────┘

Emoji akcji

AkcjaEmoji + Tytuł
Ban🔨 Ban
Kick👢 Kick
Mute🔇 Mute
Unmute🔊 Unmute
Warning⚠️ Warning
Clear🗑️ Clear
Nickname Change📝 Nickname Change
Role Added➕ Role Added
Role Removed➖ Role Removed
Member Joined📥 Member Joined
Member Left📤 Member Left
Suggestion Created💡 Suggestion Created
Suggestion Approved✅ Suggestion Approved
Suggestion Rejected❌ Suggestion Rejected
Poll Created📊 Poll Created
Poll Closed📊 Poll Closed
Embed Sent📨 Embed Sent
Alliance Created⚔️ Alliance Created
Alliance Deleted🗑️ Alliance Deleted
Member Added (alliance)➕ Member Added
Member Removed (alliance)➖ Member Removed
Rank Changed📊 Rank Changed
Leadership Transferred👑 Leadership Transferred
President Appointed🎖️ President Appointed
President Removed🚫 President Removed
Decree Issued📜 Decree Issued
Armory Assigned🏰 Armory Assigned
Armory Cleared🏰 Armory Cleared

Jak inne moduły wysyłają logi

Inne moduły korzystają z API modułu Logs:

logs_cog = self.bot.get_cog("LogsCog")
if logs_cog:
embed = logs_cog.build_log_embed("ban", target, moderator, reason)
await logs_cog.send_log(guild_id, "moderation", embed)

Metoda send_log sprawdza:

  1. Czy dana kategoria jest włączona (enabled)
  2. Czy skonfigurowano kanał (channel_id)
  3. Opcjonalnie nadpisuje kolor embeda na skonfigurowany

Jeśli kategoria jest wyłączona lub brak kanału — log jest po cichu pomijany.

Nasłuchiwane zdarzenia

Moduł Logs nie nasłuchuje bezpośrednio żadnych zdarzeń Discord. Działa jako serwis — inne moduły wywołują jego metody send_log i build_log_embed.

Wskazówki

Best practices
  • Utwórz dedykowane kanały na logi (np. #logs-moderation, #logs-alliances)
  • Ogranicz dostęp do kanałów logów tylko do moderatorów/adminów
  • Użyj różnych kolorów dla kategorii — ułatwia to szybkie rozpoznawanie typów logów
  • Włącz co najmniej kategorię moderation — to podstawowy audit trail
Jeden kanał na wszystko

Możesz ustawić ten sam kanał dla wszystkich kategorii — logi będą się rozróżniać kolorem i emoji. Ale osobne kanały dają lepszą organizację.

Brak komend

Moduł Logs nie posiada żadnych komend slash. Cała konfiguracja odbywa się przez dashboard.