HANDBUCH
Alles für deinen Stream.
Starte mit deinem ersten Command oder finde eine Antwort zu Overlays, Punkten und deinem Kanal.
Anmelden und Kanal aktivieren
Bei der ersten Twitch-Anmeldung werden Nutzerkonto und eigener Kanalbereich erstellt. Du bist dort Inhaber. Unter „Einstellungen → Kanal“ aktivierst du den Chatbot für deinen Kanal. Jeder Nutzer meldet sich mit seinem eigenen Twitch-Konto an. Wenn der Bot noch nicht antwortet, prüfe den Verbindungsstatus oben im Dashboard.
In der Kanalauswahl stehen dein eigener und alle freigegebenen Kanäle. Ein Wechsel der Dashboard-Ansicht verändert nicht, welche Kanäle der Bot betreten hat. Aktivierte Kanäle bleiben über einen Neustart gespeichert.
Unter „Einstellungen → Team“ kann der Inhaber bereits registrierte Nutzer als Dashboard-Moderatoren hinzufügen. Moderatoren dürfen Commands, Overlays und Community-Werkzeuge bedienen. Editoren dürfen Commands und Overlays bearbeiten; Analysten sehen nur Statistiken. Bot-Aktivierung, Teamrechte, Quellenlink-Erneuerung und Loyalty-Einstellungen bleiben beim Inhaber. Dashboard-Rechte vergeben keine Twitch-Moderatorrechte.
Commands erstellen
Unter „Commands“ einen Namen ohne Leerzeichen und eine Antwort anlegen. Standardbefehle sind reserviert. Pro Kanal stehen maximal 500 eigene Commands zur Verfügung. Alle Änderungen gelten sofort nach dem Speichern.
| Einstellung | Bedeutung |
|---|---|
| Rechte | Alle, Stammzuschauer, Abonnenten, VIPs, Twitch-Moderatoren oder Inhaber. Höhere Rollen schließen niedrigere Berechtigungsstufen ein. |
| Cooldown | 1–3.600 Sekunden für den gesamten Command im Kanal. |
| Nutzer-Cooldown | Zusätzlich 0–3.600 Sekunden pro Nutzer. 0 deaktiviert die zusätzliche Begrenzung. |
| Aliase | Bis zu zehn alternative Namen, mit Komma getrennt. Sie teilen Rechte, Kosten und Cooldowns mit dem eigentlichen Command. |
| Punktekosten | Optional 0–1.000.000 Loyalty-Punkte pro erfolgreicher Ausführung. Bei deaktiviertem Loyalty oder unzureichenden Punkten erfolgt keine Abbuchung und keine Command-Antwort. |
| Aktiv | Deaktivierte Commands und ihre Aliase reagieren nicht im Chat. |
Die Antwortvorlage darf maximal 4.000 UTF-8-Bytes enthalten. Auch die ausgehende Chatantwort wird auf 400 Bytes begrenzt. Ein Emoji benötigt mehrere Bytes. Das Command Studio zeigt die für den Chat auf 400 Bytes gekürzte Ausgabe und kennzeichnet die Kürzung. Ein Ablauf kann bis zu drei einzelne Chatantworten erstellen.
Twitch-Mods können außerdem !addcommand !name Antwort, !editcommand !name Neue Antwort und !removecommand !name verwenden. Erweiterte Einstellungen werden im Dashboard verwaltet.
Command Studio: So baust du deinen eigenen Command
Ein Command ist ein Chatbefehl wie !hallo. Du legst fest, was der Bot darauf antwortet oder macht. Für den Anfang reicht eine einfache Antwort. Weitere Funktionen kannst du später ergänzen.
1. Starte mit einer einfachen Antwort
- Öffne Commands → Command erstellen.
- Trage als Namen
halloein. Das Ausrufezeichen ergänzt der Bot selbst. - Lass Antwort ausgewählt und schreibe in die Antwortvorlage:
Hey {user}, schön, dass du da bist!
Schreibt MintFox später !hallo in deinen Chat, antwortet der Bot: „Hey mintfox, schön, dass du da bist!“
2. Verstehe die Platzhalter
Ein Platzhalter steht in geschweiften Klammern. Der Bot ersetzt ihn beim Aufruf durch den passenden Inhalt. In der Hilfe heißen diese Platzhalter auch Variablen.
| Du schreibst | Der Bot setzt dafür ein |
|---|---|
{user} | Den Namen der Person, die den Command aufruft. |
{channel} | Den Namen deines Kanals. |
{args} | Den Text hinter dem Command. Bei !hallo zusammen ist das „zusammen“. |
Über + Variable / Funktion kannst du weitere Platzhalter auswählen. Du musst sie nicht auswendig lernen. Mehr Beispiele findest du unter Beispiele zum Übernehmen.
3. Wenn der Command mehr machen soll
Wechsle von Antwort zu Ablauf. Dort fügst du mit + Schritt hinzufügen einzelne Aufgaben hinzu. Der Bot arbeitet sie von oben nach unten ab.
Zum Beispiel kann er einen Besuch zählen und danach den neuen Stand im Chat nennen. Einen solchen gespeicherten Wert nennt der Editor Datenwert.
- Zuschauer: Jede Person hat ihren eigenen Wert, zum Beispiel ihre Besuche.
- Kanal: Alle teilen sich einen Wert, zum Beispiel einen gemeinsamen Hype-Zähler.
Am einfachsten ausprobieren: Öffne Vorlagen und wähle !besuche. Die Vorlage zählt jeden erfolgreichen Aufruf für die jeweilige Person. Beim ersten Mal begrüßt sie den Zuschauer, später zeigt sie die Anzahl seiner Aufrufe. Sie erkennt keine Besuche automatisch.
Du kannst auch einen Overlay-Moment hinzufügen: Wähle eine vorhandene Szene und einen Alert darin aus und gib deine Nachricht ein. Beim echten Aufruf erscheint sie in dieser Szene. Damit Zuschauer sie im Stream sehen, muss die Szene in OBS eingebunden sein. Der Command erzeugt dadurch kein echtes Follow oder Abo.
4. Erst testen, dann einschalten
- Klicke rechts auf Testlauf starten. Für
!hallomusst du keine weiteren Testwerte ändern. - Lies die Chatantwort. Bei einem Ablauf siehst du außerdem, welche Schritte gelaufen sind und welche Werte sich ändern würden.
- Prüfe links, wer den Command nutzen darf. Der Cooldown legt fest, wie viele Sekunden zwischen zwei Aufrufen liegen müssen.
- Aktiviere Im Chat aktiv und klicke auf Speichern & übernehmen. Der Command ist dann gespeichert und aktiv. Damit er auf Twitch antwortet, muss auch dein Bot für den Kanal verbunden und aktiviert sein.
Ein Testlauf ist eine Vorschau: Er speichert keine Werte, verbraucht keine Punkte und sendet nichts an Chat oder Overlay. Ein erneuter Test zählt deshalb nicht einfach weiter. Ein echter Aufruf kann dagegen gespeicherte Werte verändern.
Wenn du mehr ausprobieren möchtest
Diese Möglichkeiten brauchst du für deinen ersten Command noch nicht. Klappe auf, was dich interessiert.
Zusätzliche Angaben im Chat abfragen
Manche Commands brauchen eine Angabe hinter dem Namen. Bei !so @MintFox ist das zum Beispiel der Kanal, den du empfehlen möchtest.
Lege links unter Benannte Eingaben eine Eingabe namens streamer vom Typ Twitch-Nutzer an. In deiner Antwort kannst du dann {arg:streamer} verwenden:
Schaut bei https://twitch.tv/{arg:streamer} vorbei!{if:{gameof:{arg:streamer}}|notempty|| Zuletzt lief dort {gameof:{arg:streamer}}!|}
{gameof:{arg:streamer}} liest die aktuelle oder zuletzt gespielte Twitch-Kategorie des Zielkanals. {game} bezieht sich auf deinen eigenen Kanal. Bei einer fehlenden Zielkategorie lässt die Bedingung den Zusatzsatz weg. Unter Weitere Testwerte → Zielkategorie kannst du beide Fälle simulieren.
Für einen nativen Twitch-Shoutout wechselst du bei !so zu Ablauf und ergänzt nach der Chatantwort Twitch-Shoutout senden mit dem Ziel {arg:streamer}. Der Command ist für Mods und Inhaber vorgesehen. Der Kanalinhaber erteilt die Twitch-Freigabe unter Automationen → Twitch-Events. Das Testlabor zeigt das Ziel als Simulation. Im Stream gelten die Cooldowns von Twitch.
Die passende Vorlage !so ist bereits vorbereitet und für Mods und Inhaber vorgesehen. Andere Eingabetypen prüfen Text, Zahlen oder eine feste Auswahl. Mit „Pflichteingabe“ verlangst du eine Angabe; optionale Eingaben dürfen einen Standardwert haben. Mehrere Wörter lassen sich im Chat mit Anführungszeichen zusammenfassen, etwa "Hallo zusammen".
Pflichtangaben stehen vor optionalen Angaben. Nur die letzte Texteingabe kann den gesamten restlichen Text übernehmen. {usage} zeigt, wie der Command aufgerufen wird.
Was bedeuten die verschiedenen Schritte?
| Schritt | Einfach erklärt |
|---|---|
| Antwort senden | Schreibt eine Nachricht in den Chat. |
| Datenwert setzen | Speichert einen Wert. Ein bisheriger Wert mit diesem Namen wird ersetzt. |
| Datenwert erhöhen | Addiert eine Zahl, etwa einen weiteren Besuch. Eine negative Zahl zieht etwas ab. |
| Zähler ändern | Ändert einen gemeinsamen Kanalzähler, zum Beispiel die Anzahl der Tode im Spiel. |
| Wenn / Sonst | Wählt je nach Bedingung einen von zwei Wegen: etwa eine andere Antwort für den ersten Besuch. |
| Voraussetzung prüfen | Führt den Command nur aus, wenn eine Bedingung erfüllt ist. Andernfalls werden auch vorher in diesem Aufruf geplante Änderungen verworfen. |
| Gewichtete Auswahl | Wählt zufällig einen Weg. Ein Weg mit Gewicht 80 wird auf Dauer ungefähr viermal so häufig gewählt wie einer mit Gewicht 20. |
| Overlay-Moment | Zeigt deine Nachricht über einen ausgewählten Alert deiner Szene. |
| Twitch-Shoutout senden | Löst einen nativen Twitch-Shoutout für einen anderen Kanal aus. Als Ziel kannst du zum Beispiel {arg:streamer} angeben. |
| Ablauf beenden | Überspringt alle folgenden Schritte. Bisherige Änderungen dieses Aufrufs bleiben bestehen. |
Eine Voraussetzung kannst du auch direkt in einer Antwort verwenden. Beispiel: {iflive:Wir sind live!|Wir sind gerade offline.} wählt einen von zwei Texten. {pick:Hallo|Moin|Servus} wählt zufällig eine Begrüßung. Nur der ausgewählte Weg wird ausgeführt.
Gespeicherte Werte in einer Antwort verwenden
{data:user:besuche|0} liest den Besuchswert der aufrufenden Person. Die 0 am Ende wird verwendet, wenn noch kein Wert gespeichert ist. {data:channel:hype|0} liest einen gemeinsamen Kanalwert.
Zuschauerwerte gehören zum jeweiligen Twitch-Konto und werden zwischen Kanälen getrennt. Über diese Platzhalter liest du die eigenen Werte des Aufrufers, nicht beliebige Daten anderer Zuschauer. Unter Daten siehst du Kanalwerte und deine eigenen Zuschauerwerte.
Du kannst Text, Zahlen, Wahr/Falsch oder strukturierte Daten (JSON) speichern. Diese eigenen Werte sind von Loyalty-Punkten getrennt: Ein selbst angelegter XP-Wert verändert nicht automatisch den Punktestand im Loyalty-System.
Das Testlabor nutzt zunächst erfundene Zuschauerwerte. Mit Eigene gespeicherte Zuschauerdaten lesen kannst du stattdessen deine eigenen Werte für die Vorschau verwenden. Änderungen bleiben trotzdem simuliert. Kanalwerte werden in der Vorschau nur gelesen.
Änderungen rückgängig machen und Commands teilen
Mit dem Rückgängig-Pfeil kannst du bis zu 100 Bearbeitungsschritte im aktuellen Entwurf zurücknehmen. Außerhalb eines Eingabefelds funktioniert auch Strg+Z.
Unter Versionen findest du bis zu 20 gespeicherte Stände eines Commands. Übernimm einen älteren Stand als Entwurf, prüfe ihn und speichere ihn erneut. Das stellt den Command wieder her, setzt aber keine bereits geänderten Zuschauerwerte, Zähler oder Punkte zurück. Inzwischen belegte Namen oder Aliase können die Wiederherstellung verhindern.
Über Pakete kannst du Commands exportieren oder importieren. Ein Paket enthält die Einstellungen und Abläufe, keine gespeicherten Zuschauerwerte. Vor dem Import siehst du eine Vorschau. Vorhandene Commands werden nur ersetzt, wenn du das ausdrücklich auswählst.
Grenzen und genauere Regeln
Ein Ablauf darf höchstens 64 Schritte, sechs verschachtelte Ablaufebenen, drei Chatantworten und zwei Overlay-Momente enthalten. Pro Kanal sind bis zu 500 eigene Commands und 2.000 Zähler möglich. Frei ausführbares JavaScript, Schleifen und beliebige HTTP-Abfragen sind nicht enthalten.
Ein eigener Datenwert darf höchstens 2.000 Bytes enthalten, JSON höchstens acht Ebenen und 150 Einträge. Je Zuschauer sind 100 Werte, für den Kanal 200 gemeinsame Werte und insgesamt 50.000 Werte pro Kanal möglich.
Voraussetzungen und fehlerhafte Datenänderungen verhindern, dass Werte, Zähler oder Punktekosten teilweise übernommen werden. Chat- und Overlay-Ausgaben folgen erst danach. Bei Verbindungsproblemen ist ihre Zustellung trotzdem nicht garantiert; auch die Reihenfolge zwischen Chat und Overlay kann abweichen. Ein technisch gültiger Ablauf kann einen falschen Wert überschreiben: Prüfe deshalb die geplanten Änderungen vor dem Aktivieren.
Mit einem gleichen Zufalls-Startwert kannst du eine Zufallsauswahl im Test wiederholen. Echte Aufrufe verwenden davon unabhängigen Zufall. Bei gleichzeitiger Bearbeitung verhindert die Speicherprüfung, dass ein veralteter Stand eine neuere Version überschreibt.
Für Bedingungen gibt es die Vergleiche eq, neq, ieq, contains, starts, ends, gt, gte, lt, lte, empty und notempty. Platzhalter dürfen bis zu acht Ebenen verschachtelt sein.
Wörtliche Sonderzeichen schreibst du mit einem Backslash, zum Beispiel \{Text\}, \| und \\. Eingaben von Zuschauern werden als Text behandelt und nicht noch einmal als Vorlage ausgeführt. Weitere Schreibweisen stehen im Funktionskatalog.
Aktueller Funktionskatalog
Die folgenden Einträge stammen direkt aus der laufenden Sprachdefinition. Beispiele enthalten Platzhalter, die du durch deine Werte und Datenfelder ersetzt.
| Schreibweise | Bedeutung |
|---|---|
| Funktionskatalog wird geladen … | |
Variablen und Funktionen
Die empfohlene Schreibweise lautet {user}. Einfache Variablen funktionieren auch als ${user} und $(user). Crankyhub hat eine eigene Syntax: Nicht jede StreamElements-/Fossabot-Funktion ist kompatibel. Unbekannte Variablen liefern eine Fehlermeldung, statt stillschweigend nichts auszugeben.
| Variable | Ergebnis / Beispiel |
|---|---|
{user}, {sender} | Twitch-Login des Aufrufers. |
{displayname}, {userid} | Anzeigename und Twitch-ID, sofern von Twitch geliefert. In der Vorschau kann die ID leer sein. |
{channel}, {channelurl} | Kanalname bzw. https://twitch.tv/Kanal. |
{args}, {query} | Alle Argumente nach dem Command. |
{arg:1} bis {arg:100} | Ein einzelnes Argument; fehlt es, kommt ein leerer Text zurück. |
{target}, {touser} | Erstes Argument ohne führendes @, sonst der Aufrufer. |
{command} | Eigentlicher Command-Name, auch beim Aufruf über einen Alias. |
{iflive:Live|Offline}, {ifsub:Für Abos|Für alle anderen}, {ifvip:VIP|Normal} | Gewählten Textzweig ausgeben. Nur der gewählte Zweig wird ausgeführt. |
{weighted:70=Pizza|30=Pasta} | Gewichtete Zufallsauswahl mit positiven ganzen Gewichten. |
{random:1:100} | Ganze Zufallszahl inklusive beider Grenzen; Grenzen jeweils zwischen −1 Milliarde und +1 Milliarde. |
{pick:Pizza|Pasta|Salat} | Zufällige Auswahl; Optionen mit | trennen. |
{randomuser} | Zufälliger Nutzer aus den in den letzten fünf Minuten aktiven Chattern; sonst der Aufrufer. |
{count}, {count:fail} | Gespeicherten Zähler des Commands oder einen benannten Kanalzähler um 1 erhöhen. |
{getcount:fail} | Benannten Zähler lesen, ohne ihn zu verändern. |
{math:(2+3)*4} | Sichere Rechnung mit +, −, *, /, %, Klammern und Dezimalpunkt. Kein JavaScript, eval oder Netzwerkzugriff. |
{upper:{target}}, {lower:{args}} | Text groß bzw. klein schreiben. Verschachtelung maximal acht Ebenen. |
{urlencode:{args}} | Text für die Verwendung in einer URL kodieren. |
{time}, {date} | Aktuelle Zeit / Datum in Europe/Berlin. Andere IANA-Zeitzone: {time:America/New_York}. |
{points}, {rank}, {pointsname} | Punktestand und Rang des Aufrufers sowie der Punktename des Kanals. Rang 0 bedeutet: noch kein Konto. |
{messages} | Nachrichten des Aufrufers im aktuell gespeicherten Statistikzeitraum (bis zu 90 Tage). |
{uptime}, {game}, {title} | Live-Daten deines eigenen Kanals aus Twitch, ungefähr minütlich aktualisiert. Ohne Anmeldung oder bei abgelaufenen Daten „Unbekannt“ / „Nicht verfügbar“, bei bestätigtem Offline-Status „Offline“. |
Argumente von Zuschauern werden als Text behandelt und nicht noch einmal als Vorlage ausgeführt. Maximal 500 Variablenauflösungen pro Aufruf; im Testprotokoll erscheinen höchstens 100 davon. Eine Command-Vorschau verändert weder Zähler noch Punkte.
Beispiele zum Übernehmen
Begrüßung
Hey {user}, willkommen bei {channel}! ♥Würfeln
{user} würfelt eine {random:1:6}.Entscheidungshilfe
Heute wird es {pick:Pizza|Pasta|Sushi}!Fail-Zähler
Das war Fail Nummer {count:fail}.Loyalty-Status
{user} besitzt {points} {pointsname} und ist auf Rang {rank}.Argumente und Rechnen
Aufruf: !doppelt 21
Antwortvorlage: {user}, das Doppelte ist {math:{arg:1}*2}.Suchlink
https://www.youtube.com/results?search_query={urlencode:{args}}Shoutout-Link (ohne Twitch-Shoutout-API)
Schaut bei https://twitch.tv/{target} vorbei!Für kostenpflichtige Fun-Commands Punktekosten im Dashboard setzen. Zum Beispiel einen Würfel-Command für 5 interne Punkte. Punkte haben keinen Geldwert; diese Version bietet keine Wetten oder Auszahlungen.
Loyalty und Belohnungen
Jeder Kanal führt eigene Punktestände, Ranglisten, Regeln und Belohnungen. Neue Kanäle starten mit deaktivierter Punktevergabe. Als Inhaber schaltest du sie direkt neben der Loyalty-Überschrift an oder aus. Unter „Vergaberegeln“ stellst du den Namen sowie 1–1.000 Punkte je 1–60 Minuten ein. Standardvorschlag: 10 Punkte je fünf Minuten aktiver Chatzeit.
Eine Nachricht hält einen Nutzer höchstens fünf Minuten aktiv. Punkte entstehen für die verstrichene Zeit, nicht für jede Nachricht. Mehr Schreiben im selben Zeitraum bringt daher keinen zusätzlichen Zeitbonus. Bots mit dem konfigurierten BOT_USERNAME werden ausgeschlossen; weitere Botkonten werden noch nicht automatisch erkannt. Stille Zuschauer werden nicht erfasst. Ein Nutzer mit vielen Konten kann noch nicht automatisch erkannt werden.
Im Modus „auch offline“ zählt aktive Chatzeit unabhängig vom Streamstatus. Im Live-Modus zählt sie nur bei bestätigtem Livestream und laufender Botverbindung. Streamstatus älter als zwei Minuten gilt als unbekannt; die Vergabe pausiert dann. Wegen minütlicher Verarbeitung können Übergänge um ungefähr eine Minute verzögert sein. Reste unterhalb eines Vergabeintervalls werden gespeichert. Regeländerungen sind nicht rückwirkend.
| Befehl | Funktion |
|---|---|
!points [@Nutzer], !rank | Punktestand / Rang anzeigen. |
!top | Die fünf höchsten Punktestände. |
!givepoints @Nutzer 100 | Eigene Punkte übertragen, ohne neue Punkte zu erzeugen. Empfänger muss zuvor im Kanal gechattet haben. |
!rewards | Aktive Belohnungen samt Kosten und Einlösungs-ID anzeigen. |
!redeem ID | Belohnung buchen und Punkte abziehen. Eine Einlösung wird anschließend vom Inhaber erfüllt oder erstattet. |
Manuelle Punktestandkorrekturen sind nur für Inhaber möglich und werden mit Grund protokolliert. Konten dürfen nicht negativ werden und sind auf eine Milliarde Punkte begrenzt. Transfers, Command-Kosten und Belohnungen werden atomar gebucht. Mehrfach zugestellte Ereignis-IDs werden nicht doppelt gebucht; Rückerstattungen sind je Einlösung nur einmal möglich. Der Punkteverlauf ist lokal gespeichert. Diese Punkte sind getrennt von den offiziellen Twitch-Kanalpunkten.
Chatstats
Das Dashboard zeigt für 7, 30 oder 90 Tage: Nachrichten, unterschiedliche aktive Chatter, tatsächlich ausgeführte Commands, Tagesverlauf, aktivste Chatter, meistgenutzte Commands und Twitch-Emote-IDs. Aliase zählen zum eigentlichen Command. An Cooldowns oder Rechten gescheiterte Aufrufe zählen nicht als ausgeführter Command. Der aktuelle Streamstatus kommt getrennt aus Twitch.
Erfasst wird nur, während der Bot im Kanal aktiv ist und Nachrichten empfängt. Keine historische Nachladung. Keine echten Viewerzahlen, keine vollständige Watchtime, keine Subs/Follows/Spenden-Statistik und Community-Emote-Namen von 7TV/BTTV/FFZ nach manuellem Laden des Kanalkatalogs. Ohne geladenen Katalog werden nur Twitch-Emote-IDs gezählt. !chatstats liefert eine Zusammenfassung der letzten sieben Tage.
Es werden zusammengefasste Zähler, Nutzer-IDs/-Logins und Emote-IDs gespeichert, nicht der vollständige Nachrichtentext. Gepufferte Zähler werden alle 15 Sekunden geschrieben; bei einem Absturz kann der letzte Puffer fehlen. Tagesgrenzen sind UTC. Statistikdaten werden nach 90 Tagen entfernt. Punktestände, Buchungen und Belohnungen bleiben gespeichert. Statistiken sind nur für berechtigte Kanalmitglieder sichtbar.
Overlay Studio
Unter Overlays eine vorhandene Szene öffnen oder eine der acht Vorlagen verwenden. Aurora, After Hours, Editorial und Arcade stehen jeweils als Streamstart- und Gameplay-Szene bereit. Die Kamera-Rahmen in Gameplay-Vorlagen sind transparent; deine tatsächliche Kamera und dein Spiel richtest du in OBS ein.
Links stehen Ebenen, neue Elemente und deine Medien. Rechts bearbeitest du die Auswahl. Verschiebe Elemente direkt auf der Arbeitsfläche; ziehe die Eck- oder Seitenanfasser, um ihre Größe zu ändern. Mit Umschalt an einer Ecke bleibt das Seitenverhältnis erhalten. Umschalt-Klick und ein gezogener Auswahlrahmen wählen mehrere Elemente. Gesperrte Ebenen bleiben beim Ziehen unangetastet. Gruppieren verbindet ausgewählte Elemente. Ebenen lassen sich mit dem Auge ausblenden und in der Liste umsortieren.
Einrasten orientiert sich an Kanten, Mittellinien und einem 10-Pixel-Raster. Alt setzt es beim Ziehen kurz aus. Einpassen zeigt die gesamte Szene; für Details bis 200 % zoomen und mit Handwerkzeug oder Leertaste + Ziehen verschieben. Doppelklick auf ein Textelement öffnet die Bearbeitung auf der Szene; Strg+Enter übernimmt, Escape verwirft diese Texteingabe.
Strg+Z macht rückgängig, Strg+Umschalt+Z wiederholt. Strg+D dupliziert; Strg+C/V verwendet eine interne Element-Zwischenablage dieses geöffneten Editors. Pfeile verschieben um einen, mit Umschalt um zehn Pixel. Strg+G gruppiert, Strg+Umschalt+G löst Gruppen. Strg+S speichert. Alle Kürzel findest du unten im Studio.
Im Inspector stehen je nach Element Text, Schriften, Farben, Deckkraft, Rahmen, Eckenradius, Schatten und Ereignisquellen bereit. Für Alerts gibt es vier Designs, Ereignisfilter, fünf Einblendarten, Sound und Lautstärke. Unter Medien kannst du eigene Bilder, Videos oder Sounds hochladen und wiederverwenden; Sound wird einem ausgewählten Alert zugewiesen. Dateien: maximal 5 MB, insgesamt 100 MB je Kanal. Bei neuen Uploads bleibt der Dateiname sichtbar. Audiodateien kannst du mit „Anhören“ vorhören. Wähle einen Alert aus und verwende beim gewünschten Sound „Als Alert-Sound verwenden“. Mit „Löschen“ entfernst du ungenutzte Dateien nach Bestätigung. Noch verwendete Dateien zeigen ihre Szenen und Elemente an: Entferne die Datei dort und speichere die Szenen, bevor du sie löschst.
Vorschau blendet die Bearbeitungsleisten aus. „Abspielen“ zeigt ein lokales Testereignis und sendet es nicht nach OBS. „Speichern & live“ übernimmt deine Änderungen für verbundene Quellen. Der OBS-Link befindet sich oben im Studio. Füge ihn vollständig als Browser-Quelle ein und verwende die angegebene Szenengröße. Crankyhub muss laufen. Quellenlink geheim halten; Erneuern sperrt alte Quellen. Bei gleichzeitiger Bearbeitung verhindert eine Prüfung, dass ein älterer Stand eine neuere Szene überschreibt.
Echte Ereignisse benötigen die zusätzliche Twitch-Freigabe unter Automationen → Twitch-Events. Ziele können Follows, Abos, Geschenkabos, Raids, Bits oder Chatnachrichten zählen. Labels zeigen das letzte Ereignis; Countdown und Ereignisliste sind weitere Elemente. Fremde Browserquellen, eigene Bild-/Video-Animationen innerhalb eines Alerts, freie HTML-/JavaScript-Widgets und eine Keyframe-Zeitleiste sind noch nicht enthalten. Eigene Bilder und Videos kannst du als separate Elemente einfügen; sie sind damit aber noch keine ereignisgesteuerten Alert-Animationen.
Events und Automationen
Unter Automationen findest du Twitch-Events, Timer und Moderation. Umfragen und weitere Zuschaueraktionen stehen unter Community. Den Kanal, dein Team und deine Verbindungen verwaltest du unter Einstellungen.
Echte Ereignisse verbinden
Als Inhaber „Ereignisse, Moderation & Shoutouts mit Twitch verbinden“ öffnen und mit genau diesem Kanalaccount zustimmen. Die benötigten Twitch-Rechte sind moderator:read:followers, channel:read:subscriptions, bits:read, moderator:manage:chat_messages, moderator:manage:banned_users und moderator:manage:shoutouts. Tokens werden getrennt von der normalen Anmeldung gespeichert. Je nach Kanalstatus können einzelne Twitch-Abonnements nicht verfügbar sein; der Verbindungsbereich zeigt Fehler je Ereignistyp.
EventSub verarbeitet Follow, Sub, Geschenkabo, Bits, Raid sowie Streamstart/-ende. Verbindungswiederaufnahme, Keepalive, Tokenprüfung und Ereignis-ID-Deduplizierung sind eingebaut. Mit den Testschaltflächen kannst du Ereignisse ausprobieren; dabei werden keine Punkteboni vergeben. Ereignisverlauf und Streamberichte enthalten nur seit der Verbindung empfangene Daten, keine historischen Gesamtsummen. Peak und Durchschnitt im Bericht beruhen auf minütlichen Zuschauer-Stichproben, nicht auf einer lückenlosen Messung. Streams während eines Ausfalls werden nicht nachträglich rekonstruiert.
Timer und Moderation
Timer benötigen sowohl das Zeitintervall (30–86.400 Sekunden) als auch genügend neue Nachrichten (1–1.000). Optional laufen sie nur bei bestätigtem Livestream. Sie nutzen dieselben Variablen wie Commands. Links, Domain-Ausnahmen, Begriffe, Großbuchstaben, Zeichenwiederholungen und Nachrichtenflut lassen sich filtern. Filter starten deaktiviert und mit Testmodus; im Testmodus wird nur protokolliert. Ohne Testmodus werden passende Nachrichten über die Twitch-API gelöscht; falls nur eine Nutzer-ID verfügbar ist, wird ein Timeout versucht. Fehlende Rechte werden protokolliert. Inhaber und Twitch-Moderatoren sind ausgenommen. !permit @Nutzer gibt 30 Sekunden Filterfreigabe.
Community
!quote bzw. !quote ID zeigen Zitate; Mods können mit !quote add Text hinzufügen. !queue join, !queue leave und für Mods !queue next verwalten die Zuschauerwarteschlange. Umfragen und Quiz starten im Dashboard; !vote 1 oder !answer 1 speichert eine Teilnahme je Konto. Ein kostenloses Giveaway nutzt !join; beim Beenden wird kryptografisch zufällig ein Teilnehmer gewählt. Es werden keine Tickets oder Punkte gesetzt. Mehrfachkonten werden nicht automatisch erkannt.
!sr HTTPS-YouTube-Link stellt einen Medienwunsch zur Prüfung. Im Dashboard können Mods freigeben, ablehnen und einen freigegebenen Wunsch im YouTube-Player abspielen. Der eingebettete Player kontaktiert YouTube; Wiedergabe und Audio können von Browserregeln abhängen. Eine vollständige automatische Musikradio-/Spotify-Integration ist nicht enthalten.
Loyalty-Erweiterungen
Automatische Punkte haben ein konfigurierbares Tageslimit. Ein Abo-Multiplikator (1–10) erhöht die gutgeschriebene aktive Zeit. Follow/Sub/Gift/Raid/Bits können feste Ereignis-Boni auslösen; das gilt nur bei eingeschaltetem Loyalty und für zuordenbare Nutzer. Ein Follow-Bonus wird je Konto höchstens einmal in 24 Stunden vergeben. Belohnungen bieten Bestand, persönlichen Cooldown und Nutzerlimit. Erstattungen geben begrenzten Bestand wieder frei. Eine neue Saison archiviert die Rangliste und setzt aktuelle Punkte zurück; offene Einlösungen müssen vorher bearbeitet werden. Bestätigung im Dashboard ist erforderlich.
Öffentliche Seiten und Team
Unter Öffentlichkeit lassen sich Command-Liste, Statistik-Summen, Punkte-Rangliste und Shop einzeln freigeben. Der Link lautet /c/Kanalname. Shop-Einlösungen im Browser brauchen eine Twitch-Anmeldung und ein zuvor durch Chat angelegtes Konto mit passender Twitch-ID. Einladungen sind an einen Login gebunden und gelten sieben Tage. Beim manuellen Ändern oder Entfernen einer Teamrolle werden noch offene Einladungen dieses Nutzers ungültig. Kanalumbenennungen sind nur nach Anmeldung mit dem neuen Twitch-Login und bei deaktiviertem Kanal möglich; vorhandene Zielkanaldaten werden nicht automatisch zusammengeführt.
Kanal exportieren
Als Inhaber kannst du unter Einstellungen → Konto & Daten Commands, Timer und Punktestände deines Kanals als JSON herunterladen.
Integrationen
Unter Einstellungen → Integrationen findest du Discord-Live-Ankündigungen und Chat-Emotes. Discord-Live-Ankündigungen sind optional und benötigen einen eigenen Webhook. Sie sind standardmäßig ausgeschaltet; Testereignisse senden keine Ankündigungen. 7TV/BTTV/FFZ-Kataloge werden nur auf Anforderung vom jeweiligen Anbieter geladen. Externe Anbieter können ausfallen oder Antworten zwischenspeichern.
Häufige Fragen
Ist Crankyhub kostenlos?
Die Software ist kostenlos nutzbar. Für den dauerhaften Betrieb auf einem eigenen Server können Hostingkosten entstehen.
Warum antwortet mein Command nicht?
Prüfe Kanalaktivierung, Bot-Anmeldung, Command-Aktivierung, Rechte, globalen und persönlichen Cooldown sowie ausreichende Punkte. Verwende anschließend die Vorschau, um Variablenfehler zu sehen.
Kann ich meinen bestehenden StreamElements-Command direkt kopieren?
Einfache Variablen wie $(user) werden unterstützt. Für erweiterte Funktionen gelten die hier dokumentierten Crankyhub-Parameter. eval, urlfetch, Song-Abfragen, KI-Antworten und beliebige API-Abfragen sind nicht eingebaut.
Warum bekomme ich noch keine Punkte?
Neue Kanäle starten deaktiviert und mit der Vorgabe „nur während eines bestätigten Livestreams für aktive Chatter“. Der Inhaber muss die Vergabe aktivieren. Es muss ein vollständiges Zeitintervall aktiver Chatzeit vergehen; im Live-Modus ist zusätzlich ein bestätigter Streamstatus nötig. Stille Zuschauer werden nicht berücksichtigt.
Gehen Daten beim Neustart verloren?
Gespeicherte Commands, Einstellungen und Punktestände bleiben nach einem Neustart erhalten. Bei einem Absturz kann die zuletzt erfasste, noch nicht gespeicherte Chataktivität fehlen. In der Testumgebung werden Änderungen beim Beenden zurückgesetzt.
Was fehlt gegenüber StreamElements oder Fossabot?
Noch offen sind die Abnahme mit echten Twitch-/OBS-Konten, vollständige Viewer-Watchtime, Spotify, ein großer Vorlagen-Marktplatz und der Betrieb über mehrere Server. EventSub, Timer, Moderation, zusätzliche Widgets, Community-Module sowie Discord-/Emote-Integrationen sind eingebaut und benötigen je nach Funktion Einrichtung. Die hier dokumentierten Funktionen sind die aktuelle Ausbaustufe, keine vollständige Funktionsgleichheit.
Wo werden Daten gespeichert und wer kann sie sehen?
Deine Daten werden beim Betreiber von Crankyhub gespeichert. Inhaber und berechtigte Teammitglieder sehen ihren Kanalbereich. Quellenlinks gewähren Zugriff auf ein Overlay. Öffentliche Seiten sind standardmäßig aus. Der Inhaber kann unter Einstellungen → Öffentliche Seite einzelne Bereiche freigeben. Export und Kontolöschung findest du unter Einstellungen → Konto & Daten. Einen deaktivierten Kanal migrierst du nach bestätigter Twitch-Umbenennung unter Einstellungen → Kanal. Lokale Sicherungen können gelöschte Daten bis zu ihrer Rotation weiter enthalten. Eine lokale Kontolöschung entfernt gespeicherte Zugänge und trennt die Verbindungen; die Verknüpfung kann zusätzlich in den Twitch-Kontoeinstellungen entfernt werden.