Zeitgesteuerte Nachrichten mit Streamer.bot: eine nach der anderen
Die üblichen Chat-Timer geben jeder Nachricht ein eigenes Intervall. Bei fünf oder sechs Nachrichten ist es mühsam, die Abstände so zu legen, dass nicht zwei auf einmal kommen und der Chat irgendwann nur noch aus Bot-Nachrichten besteht. Einfacher ist ein einziger Streamer.bot Timer, der zum Beispiel alle 15 Minuten die jeweils nächste Nachricht aus einer Textdatei postet, der Reihe nach und nur, während du live bist. Die Anleitung passt zur Oberfläche von Streamer.bot ab Version 1.0 (Stand Oktober 2026).
Geht auch ohne Streamer.bot
Rotierende Nachrichten gehen auch ohne Code und Textdateien: In ByteMate legst du einen Rotations-Timer an, und der Bot postet zum Beispiel alle 15 Minuten die nächste Nachricht – auf Wunsch nur, solange du live bist.
So geht’s in ByteMate →Vorbereitung: Twitch und OBS verbinden
Wie du Streamer.bot einrichtest und deinen Twitch-Account verbindest, steht im Tutorial VIP auf Zeit mit Streamer.bot unter „Was du vorher brauchst“.
Neu gegenüber der alten Fassung dieser Anleitung: Streamer.bot muss mit OBS verbunden sein, denn das Skript fragt OBS, ob du gerade streamst. Ohne Verbindung postet es nie etwas. In OBS schaltest du unter Werkzeuge → WebSocket-Servereinstellungen den WebSocket-Server ein und notierst Port und Passwort. In Streamer.bot legst du unter Stream Apps → OBS per Rechtsklick und Add eine Verbindung an: Version v5, den Host unverändert lassen, wenn OBS auf demselben PC läuft, dazu Port (Standard 4455) und Passwort aus OBS.
Schritt 1: Nachrichten in eine Textdatei
Lege im Unterordner data deines Streamer.bot-Ordners eine Datei messages.txt an, eine Nachricht pro Zeile. Leere Zeilen überspringt das Skript. Die zweite Datei, currentIndex.txt, legt es beim ersten Lauf selbst an: Darin merkt es sich, welche Nachricht als Nächstes dran ist.
Schritt 2: Action und Timer
Unter Actions & Queues → Actions legst du per Rechtsklick und Add eine Action an, etwa Nachrichten.
Als Trigger wählst du mit Rechtsklick ins Feld Triggers den Eintrag Core → Schedule → Timed Actions und legst über Create Timer einen neuen Timer an: Intervall 900 Sekunden für 15 Minuten, Repeat an. Mit Lines größer als 0 wartet der Timer zusätzlich, bis so viele Chatnachrichten gekommen sind. Das verhindert Bot-Monologe in einem leeren Chat, funktioniert laut Streamer.bot-Doku aber nur, wenn du nur eine Plattform verbunden hast. Alle Timer findest du später unter Services → Timers.
Schritt 3: Skript und Chatnachricht
Die erste Sub-Action ist Core → C# → Execute C# Code. Im Fenster ersetzt du den Beispielcode durch diesen und kompilierst ihn, bevor du speicherst:
using System;
using System.IO;
public class CPHInline
{
public bool Execute()
{
// Nur posten, während OBS streamt
if (!CPH.ObsIsStreaming(0))
return false;
string dataDir = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "data");
string messagesFile = Path.Combine(dataDir, "messages.txt");
string indexFile = Path.Combine(dataDir, "currentIndex.txt");
// Alle nicht leeren Zeilen aus messages.txt
string[] messages = Array.FindAll(File.ReadAllLines(messagesFile), m => m.Trim().Length > 0);
if (messages.Length == 0)
return false;
// Position der nächsten Nachricht lesen (fehlt die Datei oder passt die Zahl nicht, geht es von vorn los)
int index = 0;
if (File.Exists(indexFile))
int.TryParse(File.ReadAllText(indexFile).Trim(), out index);
if (index < 0 || index >= messages.Length)
index = 0;
// Nachricht für die nächste Sub-Action bereitstellen und Position weiterzählen
CPH.SetArgument("ausgabe", messages[index]);
File.WriteAllText(indexFile, ((index + 1) % messages.Length).ToString());
return true;
}
}
Das Skript prüft zuerst, ob OBS streamt, damit nichts gepostet wird, während du nur an deiner Szene bastelst. Dann holt es die nächste Nachricht, merkt sich die Position und legt den Text in der Variable ausgabe ab. Kürzt du die Datei, fängt es einfach wieder vorn an; die alte Fassung brach in dem Fall mit einem Fehler ab. Zum Testen ohne Stream löschst du das Ausrufezeichen in if (!CPH.ObsIsStreaming(0)), danach wieder einsetzen.
Als zweite Sub-Action kommt Twitch → Chat → Send Message to Channel mit der Nachricht %ausgabe%. Mit /me %ausgabe% erscheint die Nachricht in der Namensfarbe des Accounts. Hast du einen Bot-Account verbunden, schreibt Streamer.bot mit ihm, solange Send using bot account eingeschaltet ist. Text und Code bleiben so getrennt: Die Nachrichten pflegst du nur in der Textdatei.
Häufige Fragen
Warum postet der Timer nichts?
Meist fehlt die Verbindung zu OBS, oder OBS streamt gerade nicht. Weitere Gründe: messages.txt liegt nicht im data-Ordner oder ist leer, oder Lines steht auf mehr als 0, obwohl du neben Twitch noch eine zweite Plattform verbunden hast.
Kann ich die Nachrichten während des Streams ändern?
Ja. Das Skript liest die Datei bei jedem Lauf neu, Änderungen gelten also ab der nächsten Nachricht.
Geht das auch mit Streamlabs Desktop statt OBS?
Ja, Streamer.bot hat dafür einen eigenen Befehl: Ersetze im Code ObsIsStreaming durch SlobsIsStreaming und verbinde Streamlabs Desktop unter Stream Apps.
Fazit
Ein Timer, eine Textdatei und ein kurzes Skript ersetzen ein halbes Dutzend einzelner Timer, und deine Nachrichten kommen in fester Reihenfolge statt durcheinander. Die Befehle dafür beschreibt die Streamer.bot-Doku. Wenn du überlegst, ob ein Chatbot im Browser für dich besser passt als ein lokales Tool, hilft der Vergleich Die besten Twitch-Bots. Neues zu unseren eigenen Tools steht unter Status & Changelogs.
Tipp
Zeitgesteuerte Nachrichten ohne Streamer.bot und ohne lokale Dateien –
ByteMate macht das direkt im Browser. Kostenlos loslegen.






