Ich habe eine Lösung gesucht, mit der ich wie in Streamelements zeitgesteuerte Nachrichten im Chat posten lassen kann,
aber nicht die jeweilige Nachricht z.B. alle 30 Minuten und abhängig von geschriebenen Chatzeilen, sondern die erste
Nachricht, nach 15 Minuten die nächste usw. Das könnt ihr mit dem Streamer.bot und ein bisschen Code umsetzen 🙂

Bei sämtlichen Bots kann man diese Timer einstellen, aber es ist hier immer umständlich, die richtigen Zeitabstände für
die Nachrichten zu finden, damit nicht mehrere auf einmal kommen und irgendwann auch noch der ganze Chat nur noch
aus Bot Nachrichten besteht, wenn ihr zu viele davon habt.

Deswegen zeige ich euch heute, wie es möglich ist, einfach (in meinem Fall) alle 15 Minuten die jeweilige nächste Nachricht zu posten.

Schritt 1: Streamer.bot herunterladen und Twitch Account verknüpfen

Wie das funktioniert, habe ich bereits in diesem Tutorial gezeigt, befolgt hier einfach die Schritte 1 und 2.

Schritt 2: Dateien anlegen

Legt euch (am besten im data Unterordner vom Streamer.bot Verzeichnis 2 Textdateien an:

  • messages.txt – Hier fügt ihr eure gewünschten Bot Nachrichten ein (eine Nachricht pro Zeile)
  • currentIndex.txt – Hier schreibt ihr einfach eine „0“ rein und speichert (einfach nur die Zahl ohne Anführungszeichen etc.)

Schritt 3: Action und Trigger anlegen

Legt euch eine neue Action namens „Nachrichten“ (oder euer gewünschter Name) an:

Streamer.bot Action

Legt euch eine neue Timed Action mit der gewünschten Zeit in Sekunden an:

Streamer.bot Timer

Fügt die Timed Action als Trigger für die Action „Nachrichten“ ein:

Streamer.bot Trigger

4. Sub-Actions anlegen

Legt die Code Sub-Action mit Rechtsklick: Core -> C# -> Execute C# Code an.
Als Code fügt ihr hier folgendes ein:

using System;
using System.IO;

public class CPHInline
{
public bool Execute()
{
// Prüft, ob OBS streamt
if (ObsIsStreaming())
{
// Pfade zu den Dateien
string messagesFilePath = @“C:\Users\Mike\Documents\Streamer.bot-x64-0.2.2\data\messages.txt„; // Passe den Pfad an
string indexFilePath = @“C:\Users\Mike\Documents\Streamer.bot-x64-0.2.2\data\currentIndex.txt„; // Passe den Pfad an

// Nachrichten aus der Datei lesen
string[] messages = File.ReadAllLines(messagesFilePath);

// Aktuellen Index aus der Datei lesen
int currentIndex;
if (File.Exists(indexFilePath))
{
currentIndex = int.Parse(File.ReadAllText(indexFilePath));
}
else
{
currentIndex = 0;
}

// Nachricht basierend auf dem aktuellen Index auswählen
string message = messages[currentIndex];

// Index erhöhen und zurücksetzen, wenn nötig
currentIndex = (currentIndex + 1) % messages.Length;

// Neuen Index speichern
File.WriteAllText(indexFilePath, currentIndex.ToString());

// Nachricht ausgeben (oder an den Bot senden)
CPH.SetArgument(„ausgabe“, message);

return true;
}
else
{
return false;
}
}

public bool ObsIsStreaming(int connection = 0)
{
// Verwendet die Streamer.bot API, um den Streaming-Status zu prüfen
return CPH.ObsIsStreaming(connection);
}
}

Passt die Pfade zu euren 2 Dateien messages.txt und currentIndex.txt an (am besten aus Rechtegründen im data Verzeichnis)

Dieser Code prüft zuerst, ob der Stream online ist, damit die Nachrichten nicht gepostet werden, wenn ihr gerade nur am Basteln seid 🙂

Zum Testen könnt ihr einfach die Zeile „if (ObsIsStreaming())“ zu „if (!ObsIsStreaming())“ ändern, damit dreht ihr das Ganze um und die Action
startet, wenn der Stream offline ist. Natürlich nicht vergessen, das wieder zu ändern.

Danach werden die beiden Dateien ausgelesen, der Index um 1 erhöht und die jeweilige Nachricht in einer Variable „ausgabe“ gespeichert.

Jetzt legt ihr mit Rechtsklick eine weitere Sub-Action Twitch -> Chat -> Send Message to Channel an.

Als Nachricht gebt ihr einfach nur „%ausgabe%“ ein (ohne Anführungszeichen) oder „/me %ausgabe%„, damit die Nachricht in der bei Twitch eingestellten Farbe kommt.
Ich habe das aufgetrennt, damit man nicht direkt im Code werkeln muss.

Das wars auch schon, jetzt habt ihr einen kleinen Code, der euch schön nacheinander eure Bot Nachrichten im Twitch Chat postet
und in der messages.txt Datei könnt ihr diese Nachrichten einfach pflegen.

Ich wünsche viel Spaß beim Streamen 🙂

Alle Tutorials


0 Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert