Streamer.bot Cookbook — Chat-Commands für Twitch¶
UI-Klick-Anleitungen für Streamer.bot v1.0.4+. Alles ohne C#-Code, nur eingebaute Sub-Actions. Wenn du was suchst: erst Grundlagen + Patterns lesen, dann konkrete Commands anschauen.
Schnellstart
Du willst direkt einen Command bauen?
- Grundlagen — wie Action, Command, Trigger und Sub-Action zusammenhängen (5 Min)
- Command-Settings — was im Commands-Pane einzustellen ist
- Einen Command aus dem Cookbook unten als Vorlage nehmen und nachklicken
Tipp: Such-Icon oben durchsucht alles (auch Variablen-Namen und Sub-Action-Pfade).
Grundlagen¶
| Datei | Was drin steht |
|---|---|
| Grundlagen | Action vs. Command vs. Trigger vs. Sub-Action. Wo klickt man was. |
| Command-Settings | Command-Pane: Sources, Cooldowns, Aliase, Permissions, Modes, Location. |
| Variablen | %arg%, ~global~, $func()$. Welche Variablen die Command-Trigger automatisch setzen. |
| Sub-Action-Pfade | Inventar aller Sub-Actions die wir nutzen. Vollständiger Menü-Pfad pro Eintrag. |
Patterns (Bausteine)¶
Wiederverwendbare Bausteine. Jede Pattern-MD zeigt einen Use-Case Schritt für Schritt mit Tabellen.
| Pattern | Wofür |
|---|---|
| Send Message | Text in den Twitch-Chat schicken mit Variablen-Interpolation |
| If/Else + Range-Cascade | Bedingungen prüfen, mehrere If/Else hintereinander |
| Globals (Set/Get) | Werte über Sessions speichern, per-User oder global |
| Random Group | Zufällige Auswahl aus Sub-Action-Liste via Group + Rechtsklick |
| Get Random Number | Zahl zwischen Min/Max für Glücksspiel-Logik |
| Get User Info for Target | !cmd @user Target-Lookup mit Fallback auf Sender |
| Set Argument Fallback | Default-Werte setzen wenn Input leer |
Commands nach Kategorie¶
Standard (Twitch-Funktionen)¶
Native Twitch-Actions wie Clip erstellen, Stream-Info abfragen.
!clip— Twitch-Clip erstellen und URL posten!lastclip— Letzten Clip nochmal posten!so @user— Offizieller Twitch-Shoutout (Mod-Only)!followage [@user]— Wie lange folgt jemand schon!accountage [@user]— Wie alt der Twitch-Account ist!title— Aktueller Stream-Titel!game— Aktuelle Game-Kategorie!subcount— Anzahl Subscriber + Points!followercount— Anzahl Follower!latestfollow— Letzter Follower!latestsub— Letzter Subscriber
Social¶
Links zu Plattformen, Community-Infos.
Fun¶
Spaß-Commands mit Random-Logik.
!iq @user— Würfelt 0-200 IQ mit Range-Cascade-Sprüchen!rose @user— Zufällige Rose-Variante per Random Group!shrimp— Per-User-Counter!8ball <frage>— Magic 8-Ball mit 20 Antworten!rps schere|stein|papier— Schere-Stein-Papier gegen Bot!roll [max]— Würfel 1-100 oder Custom-Range!flip— Kopf oder Zahl!slap @user— Klatschen mit zufälliger Variante!hug @user— Wholesome-Variante!duel @user— Duell mit Persisted Win/Loss-Counter!ship @u1 @u2— Kompatibilitäts-Rating
Mod (nur für Moderatoren)¶
Moderations-Tools per Chat-Command. Permissions auf Moderators-Group.
- Mod-Permissions Setup — User-Groups + Permission-Patterns
!ban @user [grund]— Permanent Ban!timeout @user 30 [grund]— Temporärer Timeout!unban/!untimeout— Rückgängig machen!slowmode,!subonly,!followonly,!emoteonly— Chat-Modes!title <neuer>,!game <neues>— Set-Varianten
Quotes¶
SB-eingebautes Quote-System mit ID, User, Game, Timestamp.
- Quote-System Übersicht — Wie das eingebaute System funktioniert
!addquote <text>— Quote hinzufügen (Mod/VIP)!quote/!quote 42— Random oder spezifisch!delquote 42— Quote löschen (Mod)!quotecount— Anzahl Quotes
API (Externe APIs via Fetch URL)¶
GET-Requests gegen Public-APIs. Nur GET — POST/PUT nicht supported.
- Fetch URL Setup — JSON-Parsing, Headers, Limitations
!weather <stadt>— Wetter via wttr.in!joke— Dad-Joke via icanhazdadjoke!catfact— Cat-Facts via catfact.ninja
Events (Reaktionen ohne Chat-Command)¶
Actions die auf Twitch-Events laufen statt auf Chat-Eingabe. Siehe auch Trigger-Referenz für die komplette Übersicht.
- Follow Welcome — Neuen Follower begrüßen
- Sub Hype — Reaktion auf Subs mit Tier-Cascade
- Gift Sub Thanks — Gift Sub Reaktion (anonym + Bomb erkannt)
- Bits Cheer — Cheer-Reaktion mit Bit-Range-Cascade
- Raid Welcome — Eingehenden Raid begrüßen + Auto-Shoutout
- First-Time Chatter — User der zum ersten Mal schreibt begrüßen
- !uptime + Stream-Start-Tracker — Helper-Action + !uptime Command
OBS-Integration¶
Voraussetzung: OBS via WebSocket mit Streamer.bot verbunden.
- OBS-Verbindung Setup — Erstmaliger Setup-Guide
!brb(Scene Switch) — Pausen-Scene- Scene-Commands —
!starting,!ending,!cam, ... - Source Toggle via Reward — Channel-Point → Source einblenden
!replay(Replay-Buffer Save) — Replay speichern!screenshot— OBS-Screenshot
Channel-Point Rewards¶
- Reward-Setup — Twitch- vs SB-managed Rewards, Skip-Queue, Bulk-Management
- Refund-Pattern — Update Redemption Status für Refunds
- Reward: Hydrate Reminder — OBS-Source flash mit Sound
- Reward: Skip Song — Spotify-Skip mit Refund bei Fehler
- Reward: Custom Stream-Title — User-Input + Filter + Set Channel Title
Integrationen¶
Heart Rate (HypeRate + Pulsoid)¶
- Setup — Beide Provider, OAuth/Session-ID
- Live-HR in OBS anzeigen
- HR-Zonen mit Edge-Detection
- !hrstats + Stream-Summary
VTube Studio¶
- VTube Studio Setup
- Hotkey bei Twitch-Event (Sub/Follow/Bits → Avatar-Animation)
- Expression Toggle via Command
- Model-Wechsel via Reward
Discord¶
Speaker.bot TTS¶
Multi-PC (SB Remote)¶
- Multi-PC Setup — Streaming-PC + Gaming-PC koordinieren
Hardware¶
Geplant — siehe Roadmap¶
Workflow für eigene Commands¶
- Idee: Was soll der Command tun? Welche Eingaben? Welche Ausgabe?
- Pattern wählen: Welche der oben gelisteten Bausteine passen?
- Action bauen: Im Streamer.bot UI Actions-Pane → neue Action → Trigger
Command Triggered→ Sub-Actions zusammenklicken - Command anlegen: Commands-Pane → neuer Command → Alias
!name, Sources, Cooldowns, Action verknüpfen - Testen: Im Twitch-Chat tippen. Sub-Action-Reihenfolge im UI mit Action-Test → Run prüfen
Konventionen die wir nutzen¶
- Action-Namen beginnen mit
[Cmd] !name, damit man sie schnell findet - Group in Actions:
AzaCraftoder thematisch (z.B.AzaCraft Socials) - Aliase als Newline-getrennte Liste im Commands-Feld (z.B.
!clipund!klippen) - Cooldowns Standard: User 30s, Global 5s — anpassen wenn Spam-Risiko hoch
- Sources Standard: nur Twitch Message. YouTube/Kick nur dazu wenn explizit gewünscht
- Persisted Globals für alles was nach Restart erhalten bleiben soll (User-Counter, Stats)
Roadmap¶
In Arbeit oder geplant. Status pro Welle:
| Welle | Bereich | Status |
|---|---|---|
| 1A | Standard-Twitch-Commands: !so, !followage, !accountage, !title, !game, !subcount, !followercount, !latestfollow, !latestsub | ✅ Fertig |
| 1B | Event-Reaktionen: Follow, Sub, Gift-Sub, Bits, Raid, First-Words + !uptime mit Stream-Online-Helper | ✅ Fertig |
| 1C | OBS-Integration: Scene-Switch, Source-Toggle, Replay-Save, Screenshot | ✅ Fertig |
| 1D | Channel-Point-Rewards: Reward Redemption Trigger + Beispiele | ✅ Fertig |
| 2A | Mod-Commands: !ban, !timeout, !chatmode + Permissions | ✅ Fertig |
| 2B | Fun-Erweiterungen: !8ball, !rps, !roll, !flip, !slap, !hug, !duel, !ship | ✅ Fertig |
| 2C | Quote-System: !addquote, !quote, !delquote, !quotecount | ✅ Fertig |
| 2D | External APIs via Fetch URL: !weather, !joke, !catfact | ✅ Fertig |
| 3A | Heart Rate (HypeRate + Pulsoid): Setup, OBS-Display, Zones, Stats | ✅ Fertig |
| 3B | VTube Studio: Setup, Hotkey-on-Event, Expression, Model-Load | ✅ Fertig |
| 3C | Discord Webhook: Setup, Clip, Sub/Follow/Bits, Stream-Live | ✅ Fertig |
| 3D | Speaker.bot TTS + SB Remote + MIDI + Stream Deck | ✅ Fertig |
| 4A | Custom Events + Run Action + Custom Webhook | ✅ Fertig |
| 4B | File I/O + File Watcher + Read Random Line | ✅ Fertig |
| 4C | WebSocket Server + Browser-Overlays + WS-Client | ✅ Fertig |
| 4D | Action Queues + Action State + Sub-Weight + Inline-Functions | ✅ Fertig |
Power-User-Bereich¶
- Custom Events — Pub/Sub-Pattern + Run Action + Custom Webhook
- File I/O — Read/Write + File-Watcher als Trigger
- WebSocket Server — Browser-Overlays mit Live-Daten
- Action Queues — Blocking, Concurrent, Pause
- Action State — Programmatisch Actions enable/disable
- Sub-Action Weight — Random-Verteilung dynamisch ändern
- Inline-Functions —
$lower()$,$date()$,$urlencode()$etc.
Doku-Quellen¶
Offizielle Streamer.bot Docs:
- Sub-Actions: https://docs.streamer.bot/api/sub-actions
- Triggers: https://docs.streamer.bot/api/triggers
- Commands Guide: https://docs.streamer.bot/guide/core/commands
- FAQ Random: https://docs.streamer.bot/faq/random-subaction