Zum Inhalt

Commands: !title (Set-Variant) und !game (Set-Variant)

Die Mod-Erweiterung von !title und !game: wenn ein Mod ein Argument mitschickt, wird Title/Game gesetzt. Ohne Argument bleibt's bei der Read-only-Anzeige.

Voraussetzung: Mod-Permissions Patterns: If/Else (Input vorhanden?) + Set Channel Title/Game Sub-Actions: 5-7 pro Command

Action: [Cmd] !title (erweitert)

Wir erweitern die existierende Title-Action um Set-Logic.

Sub-Action 1: If/Else — Argument vorhanden?

Feld Wert
Input %rawInput%
Operation Is Null or Empty

Then-Branch: keine Argumente → READ-only (siehe Standard !title).

Sub-Action 2 (im Then von 1): Get User Info + Send Message + Break

2a. Get User Info for Target (User Login = %broadcastUserName%)
2b. Send Message: "📺 Aktueller Titel: %targetChannelTitle%"
2c. Break

Sub-Action 3: Permission-Check zur Laufzeit

Mod-Permission ist im Command schon gesetzt. Falls du es ZUSÄTZLICH in der Action prüfen willst (z.B. weil du !title für alle zulassen willst, aber Set nur für Mods):

3. If/Else: %isModerator% Equals false
   └─ If/Else: %userType% Not Equals broadcaster
      ├── Send Message: "@%user% nur Mods können den Titel ändern."
      └── Break

(Optional — wenn Command-Permission auf Mods steht, kommt das eh nicht hier durch.)

Sub-Action 4: Set Channel Title

Pfad: Twitch → Channel → Set Channel Title

Feld Wert
Title %rawInput%

Setzt %titleSuccess% (bool).

Sub-Action 5: If/Else — Erfolg

5. If/Else: %titleSuccess% Equals false
   ├── Send Message: "@%user% Twitch hat abgelehnt — vielleicht zu lang (max 140)?"
   └── Break

Sub-Action 6: Send Message — Erfolg

Feld Wert
Message 📺 Titel geändert: %rawInput%

Action-Tree (!title komplett)

[Cmd] !title
├── 1. If/Else: %rawInput% Is Null or Empty
│   ├── Get User Info for Target (Self)
│   ├── Send Message: "📺 Aktueller Titel: %targetChannelTitle%"
│   └── Break
├── 2. Set Channel Title: Title = %rawInput%
├── 3. If/Else: %titleSuccess% Equals false
│   ├── Send Message: "@%user% Twitch hat abgelehnt..."
│   └── Break
└── 4. Send Message: "📺 Titel geändert: %rawInput%"

Action: [Cmd] !game (erweitert)

Gleiche Logik mit Set Channel Game.

[Cmd] !game
├── 1. If/Else: %rawInput% Is Null or Empty
│   ├── Get User Info for Target (Self)
│   ├── Send Message: "🎮 Wir spielen gerade: %game%"
│   └── Break
├── 2. Set Channel Game (Source: String, Title: %rawInput%)
├── 3. If/Else: %gameSuccess% Equals false
│   ├── Send Message: "@%user% Twitch kennt das Game nicht — exakter Name?"
│   └── Break
└── 4. Send Message: "🎮 Game geändert: %gameName%"

Set Channel Game — Spezial

%gameSuccess% ist false wenn: - Game-Name keiner Twitch-Category entspricht (Tippfehler) - Game-Name komplett unbekannt ist

Bei Erfolg sind dann %gameName% (offizieller Name), %gameId%, %gameBoxArt% (URL zum Cover) gesetzt.

Command-Einstellungen

Feld Wert
Group AzaCraft Standard (gleicher wie Read-only-Version)
Grant Type Allow
Groups (siehe Note)
Global Cooldown 0
User Cooldown 30

Note zu Permissions: Wenn Read-only Anzeige für alle bleiben soll aber Set nur für Mods → entweder zwei separate Commands oder Runtime-Check in der Action (siehe Sub-Action 3 oben).

Einfacher: separate Actions/Commands: - !title (alle dürfen → nur Read) - !settitle <neuer Titel> (Mod-Only → Set)

Verwendungsbeispiele

Chat Wer Resultat
!title Alle "📺 Aktueller Titel: Minecraft..."
!title Neues Stream-Thema heute Mod "📺 Titel geändert: Neues Stream-Thema heute"
!title Neuer Titel Normaler User (kommt nicht durch wenn Permission auf Mods)
!game Alle "🎮 Wir spielen gerade: Minecraft"
!game Just Chatting Mod "🎮 Game geändert: Just Chatting"
!game UnbekanntesGameXYZ Mod "Twitch kennt das Game nicht..."

Erweiterung: Title + Game gleichzeitig

!setup <game> | <titel> mit Pipe als Trenner:

[Cmd] !setup
├── 1. If/Else: %rawInput% Not Contains "|"
│   ├── Send Message: "@%user% nutze: !setup <game> | <titel>"
│   └── Break
├── 2. Set Argument: gameInput = $regex(%rawInput%, ^([^|]+)\|.*$, $1)$
├── 3. Set Argument: titleInput = $regex(%rawInput%, ^[^|]+\|(.+)$, $1)$
├── 4. Set Channel Game: %gameInput%
├── 5. Set Channel Title: %titleInput%
└── 6. Send Message: "📺 Game: %gameName% · Titel: %titleInput%"

(Regex-Inline-Function-Syntax kann variieren — bei Bedarf Multi-Step mit Set Argument splitten.)

Häufige Fallen

  • Titel zu lang — Twitch max 140 Zeichen. titleSuccess = false
  • Game-Name case-sensitive? — Twitch Game-API ist meist tolerant, aber exact spelling hilft
  • OAuth-Permissions — wenn Twitch-Token nicht Channel-Edit-Scope hat, schlägt's fehl. Im SB unter Twitch-Settings prüfen
  • Bot setzt Titel — wenn du den Bot-Account aktiv hast und der hat keine Channel-Edit-Rechte, könnte's fehlschlagen. Broadcaster-Account fallback nutzen (Sub-Action-Setting)

Quellen