Zum Inhalt springen
  • Dunkel
  • Hell
  • System

C# in Streamer.bot

Die meisten Commands baust du in Streamer.bot ganz ohne Code: Sub-Actions zusammenklicken, fertig. Irgendwann stößt dieser No-Code-Weg aber an Grenzen. Sobald du eine Liste durchlaufen, mehrere User auf einmal auswerten oder eine externe API mit verschachteltem JSON abfragen willst, wird die Klickerei umständlich oder geht gar nicht mehr. Genau hier kommt die Sub-Action Execute C# Code ins Spiel.

Mit ihr schreibst du echten C#-Code direkt in die Action. Das CPH-Objekt ist deine Brücke zur Streamer.bot-API: Chat senden, Argumente lesen, Globals speichern, alles aus dem Code heraus. Du bist nicht mehr auf vorgefertigte Sub-Actions beschränkt, sondern baust deine eigene Logik.

Drei Commands auf dieser Seite nutzen C# bereits, weil No-Code dafür nicht ausreicht:

  • !lurkers iteriert über alle User-Globals und sammelt jeden Lurker. Eine Schleife über viele User geht nur in C#.
  • !searchquote durchsucht eine Zitatliste nach einem Suchbegriff. Filtern und Treffer zurückgeben ist klassische C#-Aufgabe.
  • VIP-Auto-Revoke prüft regelmäßig, welche VIP-Zeiten abgelaufen sind, und entzieht den Status. Das braucht Enumeration plus Zeitvergleich.

Faustregel: solange du mit einzelnen Werten und festen Schritten arbeitest, reicht No-Code. Sobald Listen, Schleifen, Filter oder komplexe Datenformate ins Spiel kommen, lohnt sich C#.

AufgabeNo-Code reichtC# nötig
Einfache Send Message in den Chat
Counter pro User hochzählen (!shrimp)
If/Else mit ein paar Bedingungen
Alle Lurker auf einmal auflisten
Leaderboard aus allen User-Globals bauen
OpenAI- oder Wetter-API mit verschachteltem JSON
Eine Liste filtern oder sortieren
Schleife über mehrere Zuschauer

Wenn du eine Aufgabe in beiden Spalten erkennst, fang mit No-Code an. Du kannst eine einzelne Stelle später jederzeit durch eine C#-Sub-Action ersetzen.

Diese Sektion ist als Reihe aufgebaut. Arbeite sie von oben nach unten durch, dann baust du Wissen sauber auf. Der Einstieg bringt dir die Mechanik bei, der zweite Teil zeigt, wie du Daten über mehrere Ausführungen hinweg behältst.

#SeiteWorum es geht
1Grundgerüst & CPH-ObjektDie erste C#-Action: Execute(), das CPH-Objekt, die Struktur.
2return true/falseWas der Rückgabewert steuert und wann die Action abbricht.
3Argumente lesenWerte wie userName und rawInput sicher mit TryGetArg holen.
4Chat sendenSendMessage, SendAction und SendWhisper aus dem Code.
5Argumente zurückgebenMit SetArgument Werte an folgende Sub-Actions weitergeben.
6Logging & DebuggingFünf Log-Stufen nutzen, um Fehler im SB-Log zu finden.
#SeiteWorum es geht
7Globale VariablenWerte mit SetGlobalVar und GetGlobalVar speichern und lesen.
8User-GlobalsWerte pro Zuschauer ablegen und für Leaderboards enumerieren.

Ein verbreitetes Missverständnis: für C# müsste man eine schwere Entwicklungsumgebung installieren. Das stimmt hier nicht. Den Code schreibst du direkt in die Execute-C#-Code-Sub-Action, und Streamer.bot kompiliert ihn beim Speichern. Kein Projekt, kein Build-Tool, keine separate Installation.

Core C# Code Execute C# Code

IntelliSense, Syntax-Highlighting und ein externer Editor wie VS Code sind angenehm, aber optional und kommen erst später dazu. Für den Anfang reicht das eingebaute Code-Feld vollkommen.

Doku: docs.streamer.bot · C# Methoden

So sieht die kleinste sinnvolle C#-Action aus. Sie schickt eine Zeile in den Chat und gibt dann true zurück, damit die Action normal weiterläuft:

public class CPHInline {
public bool Execute() {
CPH.SendMessage("Hallo aus C# 👋");
return true;
}
}

Mehr ist es im Kern nicht. Eine Klasse CPHInline, eine Methode Execute(), dein Code dazwischen. Alles Weitere in dieser Sektion baut auf genau diesem Gerüst auf. Den nächsten Schritt, das Grundgerüst im Detail, findest du unter C#-Grundgerüst.

  • Alles in C# bauen wollen: Eine simple Send Message braucht kein C#. Nimm es gezielt für Listen, Schleifen und APIs, nicht aus Prinzip.
  • return true vergessen: Ohne Rückgabewert kompiliert die Methode nicht. Details dazu auf return true/false.
  • Code als Sub-Action statt als ganze Action denken: Execute C# Code ist eine Sub-Action unter vielen. Du kannst C# und No-Code in derselben Action mischen.
  • Sektion überspringen: Argumente lesen und Globals bauen aufeinander auf. Der Lernpfad spart dir später Frust.