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
- Dashboard → Ihr Server → Toggle Logs
- Klicken Sie auf Edit, um die einzelnen Log-Kategorien zu konfigurieren
- Für jede Kategorie: Toggle aktivieren, Kanal auswählen, optional Farbe ändern
- Speichern Sie die Änderungen
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
| Kategorie | Protokollierte Aktionen |
|---|---|
moderation | Ban, Kick, Mute, Unmute, Warn, Clear, Setnick, Role add/remove, Überschreitung der Verwarnungsschwelle |
welcome | Member joined, Member left |
reaction_roles | Rollen hinzugefügt/entfernt über Buttons, Dropdown, Reaktionen + Fehler (fehlende Rolle) |
suggestions | Suggestion created, approved, rejected |
polls | Poll created, Poll closed |
message_builder | Embed sent |
alliances | Alliance created/deleted, Member added/removed/promoted/demoted, Leadership transfer, Auto-succession |
presidents | President appointed, removed, Decree issued |
armory | Armory slot assigned, cleared |
Konfiguration
Jede Log-Kategorie hat drei Einstellungen:
| Option | Typ | Beschreibung |
|---|---|---|
enabled | boolean | Ob diese Kategorie aktiv ist |
channel_id | string | ID des Zielkanals |
color | string (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
| Aktion | Emoji + 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:
- Ob die Kategorie aktiviert ist (
enabled) - Ob ein Kanal konfiguriert ist (
channel_id) - Ü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
- 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
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.
Das Logs-Modul hat keine Slash-Befehle. Die gesamte Konfiguration erfolgt über das Dashboard.