Zum Hauptinhalt springen

Logs

Das Logs-Modul bietet ein zentralisiertes System zur Protokollierung von Aktionen, die von anderen Bot-Modulen ausgeführt werden. Jede Log-Kategorie kann an einen separaten Kanal mit individueller Embed-Farbe geleitet werden.

Modul aktivieren

  1. Dashboard → Ihr Server → Toggle Logs
  2. Klicken Sie auf Edit, um die einzelnen Log-Kategorien zu konfigurieren
  3. Für jede Kategorie: Toggle aktivieren, Kanal auswählen, optional Farbe ändern
  4. Speichern Sie die Änderungen
Validierung

Eine aktivierte Log-Kategorie kann nicht ohne ausgewählten Kanal gespeichert werden. Das Dashboard hebt das fehlende Feld hervor und zeigt eine Fehlermeldung an.

Log-Kategorien

KategorieProtokollierte Aktionen
moderationBan, Kick, Mute, Unmute, Warn, Clear, Setnick, Role add/remove, Überschreitung der Verwarnungsschwelle
welcomeMember joined, Member left
reaction_rolesRollen hinzugefügt/entfernt über Buttons, Dropdown, Reaktionen + Fehler (fehlende Rolle)
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

Konfiguration

Jede Log-Kategorie hat drei Einstellungen:

OptionTypBeschreibung
enabledbooleanOb diese Kategorie aktiv ist
channel_idstringID des Zielkanals
colorstring (hex)Farbe der Log-Embeds (optional)

Konfigurationsbeispiel (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 — Konfiguration

Das Bearbeitungspanel von Logs zeigt ein Kachelraster (Tile Grid) — eine Kachel pro Kategorie:

Jede Kachel enthält:

  • Titel der Kategorie + kurze Beschreibung
  • Toggle — ein-/ausschalten
  • Channel Select — Dropdown mit Textkanälen
  • Color Picker — anklickbare Farbprobe + Hex-Eingabe

Alle Kategorien werden mit einem Klick auf Save gespeichert (UnsavedBar).

Log-Format

Jeder Log ist ein Discord-Embed mit folgender Struktur:

┌─────────────────────────────┐
│ 🔨 Ban │ ← Titel mit Aktions-Emoji
├─────────────────────────────┤
│ Target: @User (ID: 123) │
│ Moderator: @Mod (ID: 456) │
│ Reason: Spamming │
├─────────────────────────────┤
│ 2026-06-12T10:30:00Z │ ← ISO-Zeitstempel im Footer
└─────────────────────────────┘

Aktions-Emojis

AktionEmoji + Titel
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

Wie andere Module Logs senden

Andere Module nutzen die API des Logs-Moduls:

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)

Die Methode send_log prüft:

  1. Ob die Kategorie aktiviert ist (enabled)
  2. Ob ein Kanal konfiguriert ist (channel_id)
  3. Überschreibt optional die Embed-Farbe mit der konfigurierten

Wenn die Kategorie deaktiviert ist oder kein Kanal vorhanden — wird der Log stillschweigend übersprungen.

Überwachte Ereignisse

Das Logs-Modul lauscht nicht direkt auf Discord-Events. Es fungiert als Service — andere Module rufen seine Methoden send_log und build_log_embed auf.

Tipps

Best Practices
  • Erstellen Sie dedizierte Log-Kanäle (z.B. #logs-moderation, #logs-alliances)
  • Beschränken Sie den Zugang zu Log-Kanälen auf Moderatoren/Administratoren
  • Verwenden Sie verschiedene Farben für Kategorien — das erleichtert die schnelle Erkennung von Log-Typen
  • Aktivieren Sie mindestens die Kategorie moderation — das ist der grundlegende Audit-Trail
Ein Kanal für alles

Sie können denselben Kanal für alle Kategorien verwenden — die Logs unterscheiden sich durch Farbe und Emoji. Aber separate Kanäle bieten bessere Organisation.

Keine Befehle

Das Logs-Modul hat keine Slash-Befehle. Die gesamte Konfiguration erfolgt über das Dashboard.