!streamtime
Fortgeschritten !uptime !live
Postet wie lange der Stream schon läuft. Braucht eine Helper-Action am Stream-Online-Event die den Start-Timestamp speichert.
- Steps
- 4
- Cooldown
- 30s/User
- Cooldown
- 0sglobal
- Zugriff
- Public
!uptime !live
Postet wie lange der Stream schon läuft. Braucht eine Helper-Action am Stream-Online-Event die den Start-Timestamp speichert.
Twitchs Stream-Online-Event ist die Wahrheitsquelle für den Stream-Start. Streamer.bot bietet keinen Built-in-Counter “läuft der Stream seit X Sekunden”. Wir setzen einen Persisted Global beim Stream-Online und lesen ihn im Command.
Bevor !streamtime funktioniert, brauchst du eine Helper-Action die beim Stream-Online den Timestamp speichert. Eine einzige Sub-Action:
Speichert den Stream-Start-Zeitpunkt als Global. Trigger: Twitch → Stream → Online.
| Variable Name | streamStartedAt |
|---|---|
| Value | %timestampUnixSeconds% |
| Mode | Value |
| Destination | Global |
| Persisted | Persisted |
Trigger: Twitch → Stream Online an diese Helper-Action koppeln.
[Cmd] !streamtimeHolt den beim Stream-Online gesetzten Timestamp.
| Variable Name | streamStartedAt |
|---|---|
| Default Value | 0 |
| Source | Global |
| Persisted | Persisted |
| Variable Name (Destination) | startedAt |
Wenn startedAt=0, war noch nie ein Stream-Online-Event: vermutlich Stream offline.
| Left Value | %startedAt% |
|---|---|
| Comparator | Greater Than |
| Right Value | 0 |
Im Then-Branch. Differenz aus jetzt und Start, gerundet auf 1 Dezimalstelle.
| Variable Name | streamMinutes |
|---|---|
| Value | $round($divide($subtract(%timestampUnixSeconds%, %startedAt%), 60)$, 0)$ |
Im Then-Branch nach der Berechnung.
| Message | 🔴 Stream läuft seit %streamMinutes% Minuten: keep going! |
|---|---|
| Send using bot account | aktiv |
| Fallback to Broadcaster | aktiv |
Im Else-Branch: Stream-Start nicht erfasst: entweder gerade offline oder Helper-Action am Stream-Online fehlt.
| Feld | Wert |
|---|---|
| Name | !streamtime. Live-Dauer |
| Group | Standard |
| Commands | !streamtime!uptime!live |
| Text Matching Mode | Basic |
| Location | Start |
| Sources | Twitch Message |
| Ignore Bot Account | aktiv |
| User Cooldown | 30 |
| Global Cooldown | 0 |
Bei langen Streams (4h+) sieht “240 Minuten” nicht so geil aus. Math-Variante wie in !unlurk: floor() für Stunden, modulo() für Minuten.
Optional kannst du am Twitch → Stream → Offline-Event den Global wieder auf 0 setzen. Vorteil: !streamtime antwortet bei Stream-offline mit der Else-Message statt mit dem alten Timestamp. Nachteil: Wenn du den Command nach dem Stream im Vods-Chat triggerst (z.B. für Stats), ist der Wert weg. Empfehlung: nicht zurücksetzen: die Else-Branch-Check ist robust genug.
Twitch sendet manchmal Stream Online-Events bei kurzen Drop-Reconnects. Falls du beim Reconnect den Original-Start behalten willst, einen zweiten Global lastStreamSession mit Stunden-Granularität dazu: wenn lastStreamSession weniger als 2h alt ist, nicht überschreiben.