Direkt zum Hauptinhalt

Audit + Warning-Counter

Audit-Log einsehen

Im Dashboard: Community aktivieren → Moderation → Audit.

Jede Moderation-Aktion landet als Zeile in der Tabelle mod_actions. Die tatsächlich gespeicherten Felder sind:

  • action — einer von timeout, ban, unban, untimeout, delete, warn
  • moderator_login / moderator_twitch_id — wer hat ausgelöst
  • target_username / target_twitch_id — gegen wen
  • reason — der eingegebene Grund (kann leer sein)
  • duration_sec — bei Timeout die Dauer in Sekunden
  • source — dashboard (über UI ausgelöst), shield_auto (automatisch vom Smart-Shield) oder command (Chat-Command wie in dieser Doku beschrieben)
  • succeeded — ob die Twitch-API die Aktion angenommen hat
  • twitch_status — der von Twitch zurückgegebene HTTP-Status (z. B. 204 = ok)
  • error_code / failure_reason — bei Fehlschlag der interne Fehlercode, siehe Moderation Commands Troubleshooting
  • message_id — bei !delete die gelöschte Nachricht
  • created_at

Retention : 90 Tage — deutlich länger als Twitchs eigenes Mod-Log, das nur 14 Tage zurückblickt. Die letzten 500 Einträge zeigt dir das Dashboard direkt an, Älteres ist im Backend gespeichert und im Zweifel über den Support abrufbar.

Warning-Counter

!warn @username Grund ist eine rein interne Verwarnung — Twitch bekommt davon nichts mit, der User merkt selbst nichts. Jede !warn-Aktion schreibt zwei Dinge:

  • einen Eintrag in mod_actions (action=warn) fürs Audit-Log
  • einen Eintrag in moderation_warnings (Felder u. a. target_login, moderator_login, reason, source, created_at)

Der angezeigte Zähler ("3× verwarnt") ist eine simple Zählung aller bisherigen Zeilen in moderation_warnings für diesen User in deinem Channel — ohne zeitliches Reset und ohne Schwellwert-Logik. Es gibt aktuell keine automatische Eskalation (z. B. "bei 3 Warnungen automatisch Timeout/Ban") — das musst du als Mod-Team weiterhin selbst entscheiden und manuell mit !timeout/!ban umsetzen.

Mod: !warn @trollchild Spam in Subs-Mode
Bot: @trollchild Verwarnung: Spam in Subs-Mode (Gesamt: 3)

Die Warning-Historie pro User findest du im Mod-Audit unter dem User-Profil.

Wie reagiert der Bot, wenn ein Command fehlschlägt?

Die im Code tatsächlich verwendeten Fehlercodes:

FehlercodeBedeutung
target_not_foundUsername existiert nicht auf Twitch. Tippfehler?
channel_not_boundBot nicht in diesem Channel aktiv — Twitch-Connect prüfen.
channel_no_twitch_accountChannel hat kein verknüpftes Twitch-Konto.
token_unavailable / helix_token_invalidTwitch-Token fehlt oder ist ungültig — neu verbinden.
scope_missing / helix_scope_missingTwitch-Token hat den nötigen Mod-Scope nicht — Re-Connect mit erweitertem Scope.
helix_forbiddenTwitch lehnt mit 403 ab (Rechteproblem).
helix_rate_limitedTwitch-Rate-Limit (429), sehr selten. Kurz warten.
helix_not_found / helix_conflict / helix_unprocessableTwitch lehnt die Anfrage aus fachlichen Gründen ab (z. B. Ziel bereits gebannt).
helix_unreachableTwitch-API war kurzzeitig nicht erreichbar.
invalid_durationTimeout-Dauer ungültig (Twitch erlaubt 1s–14 Tage).
invalid_target / message_id_requiredUsername-Format ungültig bzw. es fehlt die Nachrichten-ID für !delete.

Hinweis: Ältere Doku-Versionen nannten hier helix_403/helix_429/internal_error — diese Strings gibt es im Code nicht. Die echten Codes heißen helix_forbidden bzw. helix_rate_limited. Der Bot postet bei Fehler eine kurze, auf Deutsch übersetzte Nachricht direkt im Chat.