Zum Inhalt springen
  • Dunkel
  • Hell
  • System

Stream Offline

Stream Offline

Fortgeschritten

Berechnet Stream-Dauer, postet Outro-Stats und löscht temporäre Globals.

Steps
5
Zugriff
Broadcaster

Schöner Outro-Hook: der Bot postet Stats (Sub-Count, Bits-Total, Stream-Dauer) während die Viewer noch in der Outro-Scene hängen. Persisted Globals wie streamSubCount müssen explizit aufgeräumt werden, sonst zeigt !streamtime nach dem Stream noch alte Werte.

Trigger setzt Argument %broadcastUser% Eigener Twitch-Name. Variablen-Doku .

Get Global. Start-Timestamp

Core Globals Global (Get)

Liest den in Stream-Online gesetzten Start.

Name streamStart
Persisted aktiv
Output Variable streamStart

Set Argument: Dauer in Minuten

Core Arguments Set Argument

Differenz zwischen jetzt und Start, durch 60 für Minuten.

Name durationMin
Value $div($sub(%timestampUnix%, %streamStart%), 60)$

Get Global. Sub-Count

Core Globals Global (Get)
Name streamSubCount
Persisted aktiv
Output Variable streamSubCount

Get Global. Bits-Total

Core Globals Global (Get)
Name streamBitsTotal
Persisted aktiv
Output Variable streamBitsTotal

Send Message: Outro-Stats

Twitch Chat Send Message to Channel
Message 📊 Stream-Stats: %durationMin% Minuten · %streamSubCount% neue Subs · %streamBitsTotal% Bits: danke euch! 💜
AzaBot: 📊 Stream-Stats: 247 Minuten · 4 neue Subs · 850 Bits: danke euch! 💜
So sieht's im Chat aus
  1. 1 Get Global: streamStart → %streamStart%
  2. 2 Set Argument: durationMin = (jetzt - start) / 60
  3. 3 Get Global: streamSubCount → %streamSubCount%
  4. 4 Get Global: streamBitsTotal → %streamBitsTotal%
  5. 5 Send Message: "📊 Stream-Stats: ..."

Wenn du Per-Stream-Counter nicht in der Outro-Message verwertest sondern direkt nullen willst, kombiniere den Cleanup mit Stream-Online (siehe stream-online Step 3–4): dann brauchst du hier nichts machen außer der Stats-Message. Der Reset in Stream-Online ist robuster weil er auch nach Hard-Crashes von SB greift.

  • streamStart ist null: wenn das Stream-Online-Event nie gefeuert hat (z.B. nach SB-Restart mid-Stream). Fallback: vor Step 2 ein If/Else %streamStart% Is Null or Empty → Break.
  • Sehr lange Streams (>24h): durationMin wird groß. Wenn du Stunden:Minuten ausgeben willst, nutze $div(%durationMin%, 60)$h und $mod(%durationMin%, 60)$min`.
  • Stream-Offline feuert nicht: bei sehr seltenen Twitch-API-Hängern. Manche Streamer haben einen !endstream-Mod-Command als Fallback der das Event manuell auslöst.
  • Discord-Outro-Embed: Webhook mit allen Stats. Schön für Server-Highlights.
  • Watchtime-Persist: wenn du eigenes Watchtime trackst, jetzt ist der Save-Point.
  • Auto-VOD-Title: Set Channel Title mit “VOD: [aktueller Titel]” (Update geht noch ein paar Minuten nach Offline).
  • Top-Chatter ehren: wenn du Chatter-Counter trackst, in der Outro-Message den heutigen MVP nennen.