Der HANSEN-TV-Bot, von A bis Z
TwitchBOT ersetzt StreamElements und Nightbot für den Kanal HANSEN_de — Chat-Befehle, Moderation, ein Punkte-System, Chat-Games, Timer, Automationen, öffentliche Statistik-Seiten und ein paar Integrationen, alles über bot.hansen-tv.de.
Dieses Handbuch listet jeden Chat-Befehl, jede Einstellung und die Fragen, die erfahrungsgemäß aufkommen. Nutz die Suche oben — sie filtert die ganze Seite.
Wie das Dashboard aufgebaut ist
- Übersicht — Live-Status, Kennzahlen, Event-Feed, öffentliche Profil-Seite.
- Chatbot — Commands, Timers, Automationen, Counters, Module, Import.
- Moderation — Spam-Filter, verbotene Wörter, Whitelist, Rechte-Ausnahmen, Nutzer-Verwaltung.
- Loyalty — Punkte-Leaderboard & Einstellungen, Quotes, Stream-Store.
- Integrationen — Discord.
- Analyse — Aktivität, Audit-Log, Chat-Statistik.
01 Einrichten
Vom Login bis der Bot im Chat schreibt.
- Auf bot.hansen-tv.de mit dem Twitch-Kanal-Account einloggen (OAuth).
- Übersicht → Bot-Einstellungen → „Zum Chat hinzufügen“. Der Bot joint sofort — ein manueller Neustart ist nicht nötig.
- Optional „Stummschalten“ — der Bot bleibt im Chat, schreibt aber nichts (nützlich beim Einrichten).
- Unter Sprache der Bot-Antworten Deutsch oder Englisch wählen. Betrifft alle eingebauten Antworten (Games, Moderation,
!points…), nicht deine eigenen Command-Texte.
ADMIN für erweiterte Bot-Rechte.02 Commands
Eingebaute Standard-Befehle sind sofort da und lassen sich pro Kanal abschalten. Eigene Commands legst du unter Chatbot → Commands an (mit Aliassen, Cooldowns und Rechte-Level).
Standard-Befehle
!points <user> für jemand anderen. Heißt die Währung z. B. „Kekse“, funktioniert automatisch auch !kekse.Eigene Commands
- Name, Antwort-Text, Rechte-Level (Alle / Follower / Sub / VIP / Mod / Broadcaster), Cooldowns (global / pro Nutzer / pro Kanal).
- Aliase pro Command über den „Aliase“-Button.
- Der Antwort-Text darf Text-Variablen enthalten.
- Ein eigener Command mit gleichem Namen hat immer Vorrang vor dem Standard-Befehl.
Counters
Ein Zähler wie !deaths: !deaths zeigt den Wert, !deaths +1 / -2 ändert ihn, !deaths 0 setzt ihn, !deaths reset nullt ihn. In Texten über {count:deaths}. Name per Klick direkt in der Tabelle umbenennbar; „Ändern durch“ legt fest, wer +/- darf.
03 Text-Variablen
In eigenen Commands und Timern verfügbar. In geschweiften Klammern.
{user} {user.login}{channel}{args} {target} {touser}{count} {count:name}{uptime} {viewers} {game} {title}{followage} {rank} {time}{urlfetch <url>} {customapi <url>}04 Module & Chat-Games
Unter Chatbot → Module. Jedes Modul einzeln an/aus, mit eigenen Parametern. Einsätze und Gewinne laufen über das Punkte-System und landen im Audit-Log.
8ball
Roulette
Slots
Duel
Verlosung
!join bei, Mods ziehen.Giveaway
Wetten / Contests
Votekick
Emote-Pyramide
Viewer-Queue
!bet ist bot-intern (nutzt die Bot-Punkte, sofort auszahlbar). !prediction ist die native Twitch-Prediction mit Kanalpunkten — siehe Integrationen.05 Moderation
Unter Moderation → Moderation. Ein Preset-Umschalter (Aus / Minimal / Mittel / Streng) setzt sinnvolle Werte für alle Filter; einzelne Filter lassen sich aufklappen und feinjustieren. Mods und Broadcaster sind von allen Filtern ausgenommen.
!permit, erlaubte Domains über die Whitelist.Sanktionsstufen & Eskalation
Pro Filter: INFO · WARNING (Hinweis im Chat) · TIMEOUT (mit Dauer) · BAN. Optional eskaliert der Bot Wiederholungstäter innerhalb eines Zeitfensters automatisch Richtung Timeout/Ban.
Whitelist
Vier Typen: Domain (erlaubter Link), Wort (Ausnahme vom Wortfilter), Nutzer (komplett ausgenommen), Rolle (Rolle komplett ausgenommen).
Nutzer-Verwaltung
Unter Moderation → Nutzer: Suche → Profil mit Status, Punkten, Watch-Time und letzten Buchungen. Interne Rollen ADMIN / MODERATOR / VIP vergeben, Nutzer per Opt-out aus Punkten/Statistik nehmen.
06 Punkte & Ränge
Unter Loyalty → Punkte. Der Tab „Einstellungen“ steuert, wie Punkte vergeben werden.
!<name> funktioniert dann automatisch.!rank, in {rank} und im Leaderboard.Leaderboard
Drei Tabs: Aktuell (Guthaben), Gesamt verdient (Summe aller positiven Buchungen — importierte Guthaben zählen hier nicht mit) und Watch-Time. Punkte lassen sich pro Nutzer manuell vergeben / setzen / zurücksetzen (mit Begründung, landet im Audit-Log).
Quotes
Zitatsammlung: !quote (zufällig), !quote <nr>, !quote add <text> (Mods). Verwaltung unter Loyalty → Quotes.
07 Store & Giveaways
Der Stream-Store (Loyalty → Stream-Store) lässt Zuschauer Punkte gegen Belohnungen eintauschen.
- Artikel: Name, Kosten, Bestand (oder unbegrenzt), Typ (Text / Sound / Zugang / eigen), an/aus.
- Zuschauer lösen mit
!redeem <name>ein — die Punkte werden sofort abgebucht, die Einlösung landet als „ausstehend“ in der Queue. - Im Dashboard Genehmigen oder Ablehnen. Ablehnen erstattet Punkte und Bestand zurück.
Die Giveaway-Historie (Titel, Gewinner, Teilnehmerzahl) steht im Modul Giveaway unter Chatbot → Module.
08 Timer & Automationen
Timers
Chatbot → Timers. Wiederkehrende Nachrichten mit Intervall und Mindest-Chatzeilen (postet nur, wenn genug los ist). Optional als Twitch-Announcement mit Farbwahl statt normaler Nachricht.
Automationen
Chatbot → Automationen. Aufbau Trigger → Bedingungen → Aktionen. Aktionen u. a.: Chat-Nachricht, Timeout/Ban, Punkte geben/abziehen, Titel/Kategorie ändern, Shoutout, Umfrage starten, Prediction starten/beenden, anderen Command ausführen.
09 Statistik, Feed & Audit
10 Öffentliche Seiten
Ohne Login erreichbar, gepflegt unter Übersicht → Öffentliche Seite.
/c/<kanal>/c/<kanal>/leaderboard/c/<kanal>/stats11 Integrationen
Discord
Integrationen → Discord. Der Bot postet über einen Discord-Webhook, sobald der Stream online geht — Embed mit Titel, Kategorie, Vorschaubild und Link.
- Webhook in Discord anlegen (Kanal → Bearbeiten → Integrationen → Webhooks) und die URL einfügen. Nur echte
discord.com/api/webhooks/…-URLs werden akzeptiert. - Erwähnung wählbar: keine /
@everyone/@here/ Rollen-ID. - Nachricht per Template:
{mention} {title} {game} {url}. „Test senden“ schickt einen Beispiel-Post.
Import aus StreamElements / Nightbot
Chatbot → Import. Rohes JSON aus der jeweiligen API einfügen — die Quelle wird erkannt.
- Nightbot (im Browser eingeloggt öffnen):
api.nightbot.tv/1/commands,/1/timers. - StreamElements:
api.streamelements.com/kappa/v2/bot/commands/<id>; Punkte über…/kappa/v2/points/<kanal>/top. - Übernimmt Commands, Timer, Quotes, verbotene Wörter und Loyalty-Punkte. „Vorschau“ zeigt die Fundzahlen, ohne zu schreiben.
- Vorhandene Einträge werden nicht überschrieben, sondern übersprungen. Für Punkte werden die Logins bei Twitch aufgelöst; unbekannte werden übersprungen.
Twitch-Predictions
Native Kanalpunkte-Predictions, von Mods aus dem Chat gesteuert:
channel:manage:predictions erteilt. Ohne das antwortet !prediction mit „Prediction fehlgeschlagen“.12 FAQ
Die Fragen, die erfahrungsgemäß aufkommen.
Der Bot ist im Chat, antwortet aber auf nichts.
Der Reihe nach prüfen: Ist er stummgeschaltet (Übersicht → Bot-Einstellungen)? Ist der betreffende Standard-Befehl im Kanal abgeschaltet? Läuft noch ein Cooldown? Hat der:die Nutzende das nötige Rechte-Level (z. B. Mod-only)? Bei !points/!rank: Punkte-Modul überhaupt aktiv?
Ich habe einen neuen Kanal verbunden — muss ich den Bot neu starten, damit er joint?
Nein. Das war früher so, ist behoben: sobald ein Kanal aktiviert wird, joint der Bot automatisch.
Warum zählt die Watch-Time nicht?
Watch-Time (und je nach Einstellung auch Chat-Punkte) werden nur gezählt, während der Stream online ist. Außerdem prüfen: Steht der Account auf der Liste ausgeschlossener Accounts oder hat er Opt-out?
Wie ändere ich den Namen der Währung?
Loyalty → Punkte → Einstellungen → Währungsname. Der Chat-Befehl passt sich automatisch an: heißt sie „Kekse“, funktioniert !kekse genau wie !points.
Wie lege ich einen eigenen Command an?
Chatbot → Commands → neuer Command. Name ohne !, Antwort-Text (darf Variablen enthalten), Rechte-Level und Cooldowns. Aliase danach über den „Aliase“-Button.
Was bedeuten die Schutzstufen bei der Moderation?
Aus / Minimal / Mittel / Streng sind Presets: ein Klick setzt für alle Filter zusammenpassende Werte und Sanktionen. Danach kannst du einzelne Filter aufklappen und nachjustieren — die Stufe bleibt als Ausgangspunkt.
Wie funktioniert !permit?
!permit <user> (Mods) gibt einem Nutzer für 60 Sekunden frei, einen Link zu posten, ohne dass der Link-Filter zuschlägt. !permit <user> 120 für 120 Sekunden. Dauerhaft erlaubte Domains gehören in die Whitelist, ganze Rollen (Sub/VIP) über das Häkchen am Link-Filter.
!prediction sagt „Prediction fehlgeschlagen“.
Dem Bot fehlt die Twitch-Berechtigung channel:manage:predictions. Im Dashboard den Broadcaster-Account einmal neu verbinden — beim erneuten OAuth wird der Scope erteilt.
Unterschied zwischen !bet und !prediction?
!bet ist eine bot-interne Wette auf die Bot-Punkte — läuft komplett im Bot, sofort auszahlbar, auch wenn du keine Kanalpunkte-Predictions nutzen willst. !prediction startet die native Twitch-Prediction mit Kanalpunkten.
Wie importiere ich meine Commands von StreamElements oder Nightbot?
Chatbot → Import. Bei Nightbot api.nightbot.tv/1/commands im eingeloggten Browser öffnen, das JSON kopieren und einfügen. „Vorschau“ zeigt, was erkannt wurde; „Importieren“ übernimmt es. Vorhandene Commands bleiben unangetastet.
Der Discord-Post kommt nicht, wenn ich live gehe.
Prüfen: Integration aktiv, gültige Webhook-URL gespeichert (Test-Button nutzen), Häkchen „Bei Stream online“ gesetzt. Der Post kommt pro Stream nur einmal (Schutz gegen Doppel-Posts). Erkennt Twitch den Stream-Start verzögert, kann der Post ein paar Minuten brauchen.
Beim Laden ist die Seite kurz weiß / flackert.
Der Effekt (FOUC) ist behoben — das Dashboard tauscht sein Stylesheet erst, wenn das neue geladen ist. Falls es doch auftritt: einmal hart neu laden (Strg + F5).
Können Mods ins Dashboard?
Der Login läuft über den Kanal-Account. Innerhalb des Bots kannst du unter Moderation → Nutzer die Rolle ADMIN vergeben — die wirkt bot-intern (z. B. für geschützte Commands). Twitch-Mod/VIP werden bei Aktivität automatisch von Twitch übernommen.
Punkte eines Zuschauers sind falsch — was tun?
Loyalty → Punkte → Punkte vergeben. Nutzer suchen, dann vergeben (addieren), setzen (auf einen Wert) oder zurücksetzen. Jede Änderung steht mit Begründung im Audit-Log. Die letzten Buchungen eines Nutzers siehst du in seinem Profil.
Wie oft aktualisieren sich die Statistiken?
Live-Kacheln alle 15 s. Chat-/Emote-Statistik wird laufend gezählt (rückwirkend erst ab Einführung). Die Namen der 3rd-Party-Emotes (BTTV/FFZ/7TV) holt der Bot alle 6 Stunden.
Ist der Bot down?
bot.hansen-tv.de/health zeigt Version und Status. Nach einem Update dauert ein Deploy rund 10 Minuten, in denen der Bot kurz neu startet.
Bekommen andere meine Chat-Statistik zu sehen?
Nur wenn du es willst. /c/<kanal>/stats ist standardmäßig aus und wird erst mit dem Häkchen „Öffentliche Chat-Statistik“ (Übersicht → Öffentliche Seite) freigegeben.