Zum Inhalt springen
  • Dunkel
  • Hell
  • System

!uptime + Stream-Start-Tracker

Zwei Actions: ein „fire-and-forget“-Helper bei Stream-Online und der eigentliche !uptime Command. Helper schreibt Argument %streamStartedAt% Persisted Global. DateTime des letzten Stream-Starts. Variablen-Doku , Command liest aus und macht die Differenz via Inline-Functions.

Schritt 1: Helper-Action [Sys] Stream Start Tracker

Abschnitt betitelt „Schritt 1: Helper-Action [Sys] Stream Start Tracker“

Global (Set): streamStartedAt

Core Globals Global (Set)

Persisted, damit der Wert SB-Restart überlebt.

Variable Name streamStartedAt
Value %startedAt%
Mode Value
Destination Global
Persisted aktiv

Diese Action postet nichts. Sie taggt nur den Stream-Start.

Global (Get). Stream-Start lesen

Core Globals Global (Get)
Variable Name (Quelle) streamStartedAt
Source Global
Persisted aktiv
Variable Name (Destination) streamStart

If/Else: Helper nie gelaufen

Core Logic If/Else
Input %streamStart%
Operation Is Null or Empty
Then

Send Message: Hinweis

Twitch Chat Send Message to Channel
Message @%user% Stream-Start-Zeit ist nicht bekannt. Helper-Action evtl. nicht aktiv?
Then

Break

Core Logic Break

Send Message: Uptime

Twitch Chat Send Message to Channel

Inline-Functions $dateDiff()$, $date()$, $now()$ folgen .NET DateTime-Format.

Message 📺 Stream läuft seit $dateDiff(%streamStart%, $now()$, "h:mm")$. Start: $date(%streamStart%, HH:mm)$.
Send using bot account aktiv
AzaBot: 📺 Stream läuft seit 2:35. Start: 19:00.
So sieht's im Chat aus
  1. 1 Global (Get): streamStartedAt → %streamStart%
  2. 2 If/Else: %streamStart% Is Null or Empty
    1. Then 2a Send Message: Hinweis
    2. Then 2b Break
  3. 3 Send Message: "📺 Stream läuft seit $dateDiff()$..."
FeldWert
Name!uptime. Stream-Dauer
GroupAzaCraft Standard
Commands!uptime
!live
Global Cooldown10
User Cooldown30
ChatResultat (bei 2h 35min Laufzeit)
!uptime„📺 Stream läuft seit 2:35. Start: 19:00.“
!uptime (Helper nie gelaufen)„@user Stream-Start-Zeit ist nicht bekannt…“
  • Helper-Action nicht enabled: [Sys] Stream Start Tracker muss aktiv sein.
  • DateTime-Format-Mismatch: Inline-Function-Syntax kann je nach SB-Version variieren. Fallback: nur $date(%streamStart%, HH:mm)$ anzeigen, Viewer rechnen selbst.
  • SB-Restart bei Offline: Persisted Global bleibt. Wert ist letzter Stream-Start bis Helper neu schreibt.

Ohne Diff-Berechnung: robuster:

3. Send Message: "📺 Stream startete heute um $date(%streamStart%, HH:mm)$ Uhr."

Vor Sub-Action 3 ein zusätzliches If/Else mit Twitch > Channel > Get Stream Info → bei Offline: „Stream ist gerade offline, letzter Stream startete %streamStart%“.