Zum Inhalt springen

!lastclip

!lastclip

Fortgeschritten

!last !letzterclip

Postet den zuletzt erstellten Twitch-Clip nochmal in den Chat. Hilfreich für Late-Joiners.

Steps
5
Cooldown
30s/User
Cooldown
10sglobal
Zugriff
Public

Global (Get) — letzten Clip lesen

Core Globals Global (Get)

Liest den persisted Global lastClipUrl ins lokale Argument %lastUrl%.

Variable Name lastClipUrl
Default Value (leer)
Source Global
Persisted Persisted
Variable Name (Destination) lastUrl

If/Else — kein Clip vorhanden

Core Logic If/Else

Wenn %lastUrl% leer ist, gehen wir in den Then-Branch (Fallback-Message + Break).

Input %lastUrl%
Operation Is Null or Empty
Value (leer)
Then

Send Message — noch nichts geclippt

Twitch Chat Send Message to Channel
Message @%user% heute wurde noch nichts geclippt. Mach den ersten mit !clip 🎬
Send using bot account aktiv
Fallback to Broadcaster aktiv
Then

Break

Core Logic Break

Beendet die Action, damit Sub-Action 5 nicht läuft.

Send Message — Erfolg

Twitch Chat Send Message to Channel
Message Letzter Clip: %lastUrl%
Send using bot account aktiv
Fallback to Broadcaster aktiv
AzaBot: Letzter Clip: %lastUrl%
So sieht's im Chat aus
  1. 1 Global (Get): lastClipUrl → %lastUrl% (Global, Persisted)
  2. 2 If/Else: %lastUrl% Is Null or Empty
    1. Then 3 Send Message: "@%user% heute wurde noch nichts geclippt..."
    2. Then 4 Break
  3. 5 Send Message: "Letzter Clip: %lastUrl%"
FeldWert
Name!lastclip — Letzten Clip zeigen
GroupAzaCraft
Commands!lastclip
!last
!letzterclip
Text Matching ModeBasic
LocationStart
Sourcesnur Twitch Message angehakt
Ignore Bot Accountaktiv
Ignore Internal Messagesaktiv
Global Cooldown10
User Cooldown30
Permissions(leer = alle)

In der Action: Triggers-Tab → + Add TriggerTwitch → Commands → Command Triggered!lastclip auswählen.

Damit !lastclip etwas anzeigen kann, muss !clip die URL in den persisted Global schreiben. Öffne die [Cmd] !clip Action und füge zwischen der If/Else-Success-Check und der finalen Send Message eine neue Sub-Action ein:

Global (Set) — URL merken

Core Globals Global (Set)

Sitzt AUSSERHALB des If/Else (nicht eingerückt) — läuft nur im Erfolgsfall, weil das Break im Fehlerzweig die Action schon beendet hat.

Variable Name lastClipUrl
Value %createClipUrl%
Mode Value
Destination Global
Persisted Persisted
  1. 1 Create Clip (Duration 30)
  2. 2 If/Else: %createClipSuccess% Equals false
    1. Then 3 Send Message: "@%user% Clip-Erstellung hat nicht geklappt..."
    2. Then 4 Break
  3. 5 Global (Set): lastClipUrl = %createClipUrl% (Persisted) ← NEU
  4. 6 Send Message: "@%user% hat geclippt: %createClipUrl%"
Chat-EingabeWannResultat
!lastclipNach !clip wurde min. einmal erfolgreich ausgeführtPostet die zuletzt gemerkte Clip-URL
!lastGleichesAlias
!lastclipVor dem ersten erfolgreichen !clip nach SB-Neustart”@user heute wurde noch nichts geclippt…”
!lastclip (innerhalb 30s vom selben User)Cooldown blockt
  • Global überlebt SB-Restart weil Persisted aktiviert ist. Heißt: auch nach Neustart zeigt !lastclip den letzten Clip der letzten Session.
  • Global wird bei jedem !clip überschrieben — es bleibt immer nur der neueste. Für eine Historie siehe Erweiterungs-Ideen.
  • Clip auf Twitch gelöscht → Link ist tot, aber die URL bleibt im Global. SB merkt das nicht.
  • Empty-Default-Wert — Default Value in Global (Get) bleibt leer, weil wir explizit auf Empty prüfen. Niemals "keiner" reinschreiben, sonst greift der Empty-Check nicht.

Im erweiterten !clip nicht nur die URL, sondern auch Title in einen zweiten Global:

Global (Set): lastClipTitle = %createClipTitle% [Global, Persisted]

In !lastclip dann: Letzter Clip: "%lastClipTitle%" — %lastUrl%.

Aufwändig ohne C#, aber machbar mit nummerierten Globals:

!clip (im Erfolgs-Pfad):
1. Global (Get): lastClipUrl_2 → tmp2 [Persisted]
2. Global (Set): lastClipUrl_3 = %tmp2% [Persisted]
3. Global (Get): lastClipUrl_1 → tmp1 [Persisted]
4. Global (Set): lastClipUrl_2 = %tmp1% [Persisted]
5. Global (Set): lastClipUrl_1 = %createClipUrl% [Persisted]

Dann !clips mit allen drei Werten posten. Etwas hackig, aber kein C# nötig.

Trigger Twitch → Channel → Stream Online mit Action die !lastclip-Logik aufruft → bei Stream-Start wird der letzte Clip der letzten Session als Welcome-Back gepostet.