Streamerbot
|

VIP auf Zeit per Kanalpunkte mit Streamer.bot

Mit einer Kanalpunkte-Belohnung können sich Zuschauer den VIP-Status auf Zeit selbst holen, und nach einem Monat verschwindet er von allein wieder. Twitch selbst kennt keine befristeten VIPs, deshalb übernimmt das hier Streamer.bot: Eine Action vergibt den Status und merkt sich das Datum, eine zweite prüft alle 30 Minuten, wessen Zeit abgelaufen ist. Die Anleitung passt zur Oberfläche von Streamer.bot ab Version 1.0 (Stand Oktober 2026).

Streamer.bot

Geht auch ohne Streamer.bot

VIP auf Zeit per Kanalpunkte geht auch ohne Skript und Textdatei: In ByteMate wählst du den Reward und die Dauer in Tagen oder Monaten – vergeben und wieder entziehen erledigt der Bot.

So geht’s in ByteMate →

Was du vorher brauchst

Lade Streamer.bot von streamer.bot herunter und entpacke das ZIP-Archiv in einen Ordner deiner Wahl. Eine Installation gibt es nicht, du startest einfach die Streamer.bot.exe. Nimm keinen Ordner, den OneDrive oder ein anderer Cloud-Dienst synchronisiert, und starte das Programm nicht als Administrator, beides rät die Streamer.bot-Doku ab.

Danach verbindest du deinen Twitch-Account: links im Menü Platforms → Twitch, dann unter Accounts beim Broadcaster Account auf Login. Einen zweiten Account als Bot kannst du dort zusätzlich verbinden, nötig ist er nicht. Die Kanalpunkte-Belohnung für den VIP-Status legst du am besten direkt in Streamer.bot an, unter Platforms → Twitch → Channel Point Rewards mit Rechtsklick und Add. Dann gehört die Belohnung Streamer.bot, und es kann sie vollständig steuern.

Streamer.bot: Twitch-Account verbinden

Schritt 1: Zwei Actions und ihre Trigger

Unter Actions & Queues → Actions legst du mit Rechtsklick in die Liste und Add zwei Actions an: VIP Add und VIP Check.

Streamer.bot: Actions anlegen

VIP Add soll starten, sobald jemand die Belohnung einlöst. Markiere die Action, klicke mit rechts ins Feld Triggers und wähle Twitch → Channel Reward → Reward Redemption, dann deine VIP-Belohnung.

VIP Check läuft über einen Timer. Als Trigger wählst du Core → Schedule → Timed Actions und legst über Create Timer gleich einen neuen an: Name zum Beispiel VIP, Intervall 1800 Sekunden, Repeat an, Lines auf 0. Alle Timer findest du später unter Services → Timers.

Streamer.bot: Timer für den VIP-Check
Streamer.bot: Timer als Trigger

Schritt 2: VIP vergeben und Datum merken

In VIP Add kommen zwei Sub-Actions, beide per Rechtsklick ins Feld Sub-Actions:

  1. Twitch → Moderation → Add VIP, als Source Type bleibt User stehen. Das ist der Zuschauer, der eingelöst hat.
  2. 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()
    {
        // Login-Name des Zuschauers, der die Belohnung eingelöst hat
        if (!CPH.TryGetArg("userName", out string userName))
            return false;

        // VIP.csv im data-Ordner von Streamer.bot
        string filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "data", "VIP.csv");

        // Eine Zeile pro VIP: Name und heutiges Datum
        string line = userName + "," + DateTime.Now.ToString("dd.MM.yyyy") + Environment.NewLine;
        File.AppendAllText(filePath, line);
        return true;
    }
}

Der Code schreibt den Namen und das heutige Datum als neue Zeile in die Datei VIP.csv im Unterordner data von Streamer.bot. Den Pfad musst du nicht anpassen, der Code findet den Ordner selbst. In der alten Fassung dieser Anleitung stand hier noch ein fester Pfad mit Versionsnummer, den du von Hand anpassen musstest.

Schritt 3: Abgelaufene VIPs entfernen

VIP Check braucht nur eine Sub-Action, wieder Core → C# → Execute C# Code:

using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;

public class CPHInline
{
    public bool Execute()
    {
        int days = 30; // nach so vielen Tagen endet der VIP-Status
        string filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "data", "VIP.csv");

        // Noch niemand hat eingelöst
        if (!File.Exists(filePath))
            return true;

        List<string> keep = new List<string>();
        bool changed = false;

        foreach (string line in File.ReadAllLines(filePath))
        {
            string[] parts = line.Split(',');
            DateTime since;
            bool expired = parts.Length >= 2
                && DateTime.TryParseExact(parts[1].Trim(), "dd.MM.yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out since)
                && (DateTime.Now - since).TotalDays >= days;

            if (expired)
            {
                CPH.TwitchRemoveVip(parts[0].Trim());
                CPH.LogInfo("VIP auf Zeit beendet: " + parts[0].Trim());
                changed = true;
            }
            else
            {
                keep.Add(line);
            }
        }

        if (changed)
            File.WriteAllLines(filePath, keep);
        return true;
    }
}

Alle 30 Minuten liest der Code die Datei, entzieht jedem den VIP-Status, dessen Eintrag mindestens 30 Tage alt ist, und streicht ihn aus der Liste. Die Dauer stellst du oben bei days ein. Jede Entfernung steht im Log von Streamer.bot. Zum Testen setzt du days kurz auf 0, löst die Belohnung mit einem Zweitaccount ein und wartest den nächsten Lauf ab; danach den Wert wieder zurückstellen.

Häufige Fragen

Was passiert, wenn jemand schon VIP ist und einlöst?

Twitch ändert dann nichts, aber der Code trägt die Person trotzdem ein, und nach 30 Tagen ist der VIP-Status weg, auch ein dauerhaft vergebener. Lösen dauerhafte VIPs aus Versehen ein, löschst du ihre Zeile aus VIP.csv.

Muss Streamer.bot die ganze Zeit laufen?

Geprüft wird nur, solange Streamer.bot läuft. War es ein paar Tage aus, holt die nächste Prüfung alles nach, denn es zählt das gespeicherte Datum, nicht die Zahl der Prüfungen.

Kann ich die Dauer später ändern?

Ja, über days im zweiten Code. Der neue Wert gilt auch für alle, die schon eingetragen sind, weil das Einlösedatum gespeichert ist und nicht das Ablaufdatum.

Fazit

Zwei Actions, ein Timer und zwei kurze Skripte reichen, damit VIP auf Zeit ohne Handarbeit läuft. Nach demselben Muster aus Timer und Skript funktionieren auch zeitgesteuerte Nachrichten mit Streamer.bot. Alle Sub-Actions und C#-Befehle sind in der Streamer.bot-Doku beschrieben. Was die aktuelle Streamer.bot-Version für Twitch sonst noch kann, steht in Streamer.bot: Power-Ups und Nachrichten anpinnen, und was sich bei unseren eigenen Tools ändert, unter Status & Changelogs.

Alle Tutorials

Tipp

VIP auf Zeit ohne Streamer.bot und ohne lokale Dateien –
ByteMate erledigt das direkt im Browser. Kostenlos loslegen.

ByteMate testen →

Ähnliche Beiträge

Schreibe einen Kommentar

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