Ich habe kürzlich nach einer Möglichkeit gesucht, den Twitch Zuschauern durch Kanalpunkte zu ermöglichen, den VIP Status zu bekommen.
Das Ganze soll komplett automatisiert ablaufen und genauso automatisch der VIP Status nach einem Monat wieder entzogen werden.
Hier ein kleines Tutorial, wie ihr das mit meiner Methode mit dem Streamer.bot umsetzen könnt.
Vorab: Mit dem Streamer.bot hat man noch viel, viel mehr Möglichkeiten 🙂
Ich beschreibe jetzt nur das minimalste, um das oben genannte umzusetzen.
Voraussetzung ist, dass ihr euch eine Kanalpunkte Belohnung für VIP angelegt habt.
Schritt 1: Streamer.bot herunterladen
Ladet euch hier den Streamer.bot herunter, entpackt das Archiv und legt den Ordner in einem Verzeichnis eurer Wahl ab.
Dieser beinhaltet das ganze Programm, ihr müsst hier nichts installieren.
Startet die Streamer.bot.exe und legt euch am besten eine Verknüpfung dafür auf dem Desktop an.
Schritt 2: Twitch Account verknüpfen
Loggt euch unter Platforms -> Twitch -> Accounts -> Broadcaster Account mit eurem Twitch Account ein.
Wenn ihr möchtet, könnt ihr hier außerdem einen extra Bot Account verbinden.
Schritt 3: Actions anlegen
Legt euch mit Rechtsklick im weißen Feld unter Actions 2 Aktionen an, einmal „VIP Add“ und einmal „VIP Check“
Schritt 4: Trigger anlegen
Die Actions brauchen auch jeweils einen Trigger, der diese auslöst.
Im Fall von „VIP Add“ soll die Action ausgelöst werden, sobald jemand die Kanalpunkte Belohnung auslöst.
Hierzu geht ihr mit Rechtsklick im weißen Feld unter Triggers auf Twitch -> Channel Reward -> Reward Redemption
Für den „VIP Check“ habe ich mir einen Timer eingerichtet, der jede 30 Minuten diese Aktion auslösen soll.
Hierzu müsst ihr zuerst den Timer unter Settings -> Timed Actions mit Rechtsklick und „Add“ anlegen:
Danach könnt ihr zurück in der Action mit Rechtsklick ins weiße Feld unter Triggers auf Core -> Timed Actions den Timer auswählen:
Schritt 5: Sub-Actions anlegen
Jetzt legen wir die Sub-Actions an, die ausgeführt werden sollen, wenn der Trigger die Action anstößt.
VIP Add
- Rechtsklick unter Sub-Actions: Twitch -> Moderation -> Add VIP, als Source Type lasst ihr das vorgewählte User.
- Rechtsklick unter Sub-Actions: Twitch -> User -> Get User Info for Target, als Source Type wählt ihr User
- Rechtsklick unter Sub-Actions: Core -> C# -> Execute C# Code
Nach dem Hinzufügen von Execute C# Code öffnet sich ein kleines Fenster, in dem ihr einen eigenen Code eintragen könnt.
Hier fügt ihr den (an euch angepassten) Code ein:
using System;
using System.IO;public class CPHInline
{
public bool Execute()
{
// Den Benutzernamen aus dem Argument holen
CPH.TryGetArg(„targetUser“, out string benutzer);// Aktuelles Datum holen, formatiert als „dd.MM.yyyy“
string currentDate = DateTime.Now.ToString(„dd.MM.yyyy“);// Pfad zur CSV-Datei
string filePath = @“C:\Users\Mike\Documents\Streamer.bot-x64-0.2.2\data\VIP.csv„; // Ändere dies zu dem tatsächlichen Streamer.bot Speicherort// Erstelle den Eintrag mit Benutzername und Datum
string csvLine = $“{benutzer},{currentDate}\n“;// Schreibe den Eintrag in die CSV-Datei
// ‚AppendAllText‘ fügt den Text ans Ende der Datei an, ohne bestehende Daten zu überschreiben
File.AppendAllText(filePath, csvLine);return true;
}
}
Mit Hilfe dieses Codes wird beim Einlösen der Kanalpunkte der Name des Zuschauers und das Datum in eine CSV Datei eingetragen.
Verwende hier am besten wie im Beispiel oben den data Ordner des Streamer.bot, da es sonst zu Problemen wegen den Windows Rechten kommen kann.
VIP Check
Bei VIP Check muss nur eine Sub-Action angelegt werden, hier einfach nur Rechtsklick und dann auf Core -> C# -> Execute C# Code.
Hier fügt ihr folgenden Code ein:
using System;
using System.Globalization;
using System.IO;
using System.Collections.Generic;public class CPHInline
{
public bool Execute()
{
// Pfad zur CSV-Datei
string filePath = @“C:\Users\Mike\Documents\Streamer.bot-x64-0.2.2\data\VIP.csv„; // Ändere dies zu dem tatsächlichen Streamer.bot Speicherort// Aktuelles Datum
DateTime currentDate = DateTime.Now;// Die Datei öffnen und Zeile für Zeile einlesen
List<string> lines = new List<string>(File.ReadAllLines(filePath));
List<string> updatedLines = new List<string>();bool changesMade = false;
foreach (var line in lines)
{
// Trenne die Zeile in Benutzername und Datum
string[] parts = line.Split(‚,‘);
if (parts.Length < 2)
{
updatedLines.Add(line); // Zeile behalten, falls sie nicht korrekt formatiert ist
continue;
}string userName = parts[0];
string dateString = parts[1];// Versuche, das Datum zu parsen
if (DateTime.TryParseExact(dateString, „dd.MM.yyyy“, CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime vipDate))
{
// Überprüfen, ob das Datum mindestens einen Monat zurückliegt
if ((currentDate – vipDate).TotalDays >= 30) // Hier kannst du die Anzahl der Tage anpassen, in diesem Beispiel 30 Tage
{
// VIP-Status entfernen
CPH.TwitchRemoveVip(userName);
Console.WriteLine($“VIP-Status für {userName} entfernt, da der Status älter als ein Monat ist.“);
changesMade = true;
continue; // Zeile nicht zu den aktualisierten Linien hinzufügen
}
}
// Zeile zu den aktualisierten Linien hinzufügen, wenn keine Änderung nötig ist
updatedLines.Add(line);
}// Nur schreiben, wenn Änderungen gemacht wurden
if (changesMade)
{
File.WriteAllLines(filePath, updatedLines);
Console.WriteLine(„Die Datei wurde aktualisiert.“);
}return true;
}
}
Dieser Code liest die abgelegte Datei aus und schaut in jeder Zeile, ob das Datum schon länger als 1 Monat her ist.
Wenn ja, wird der VIP Status des Zuschauers entfernt und der Name aus der Datei gelöscht.
Das wars, hiermit habt ihr alles erledigt 🙂
Lasst mir gerne ein Feedback da, wenn noch etwas nicht verständlich ist, dann kann ich hier gerne noch nacharbeiten.
Ansonsten viel Spaß beim Streamen!
0 Kommentare