Zum Inhalt springen

!shrimp

!shrimp

Fortgeschritten

!krabbe

Per-User-Counter mit Persisted User-Global.

Steps
3
Cooldown
15s/User
Cooldown
0sglobal
Zugriff
Public

Klassisches Drei-Schritt-Pattern: Increment → Get → Send Message. Ergebnis pro User persistiert über Streamer.bot-Neustarts hinweg.

Global (Set) — Counter hochzählen

Core Globals Global (Set)

Destination = User (redeemer) speichert pro User. Increment erzeugt den Global bei 1, falls noch nicht vorhanden.

Variable Name shrimpCount
Mode Increment
Increment Amount 1
Destination User (redeemer)
Persisted Persisted

Global (Get) — Aktuellen Wert holen

Core Globals Global (Get)

Set macht den Wert nicht direkt als Argument verfügbar — wir müssen ihn separat lesen.

Variable Name shrimpCount
Default Value 1
Source User (redeemer)
Persisted Persisted
Variable Name (Destination) myShrimpCount

Send Message

Twitch Chat Send Message to Channel
Message 🦐 @%user% hat schon %myShrimpCount% mal Shrimp gerufen.
Send using bot account aktiv
Fallback to Broadcaster aktiv
AzaBot: 🦐 @%user% hat schon %myShrimpCount% mal Shrimp gerufen.
So sieht's im Chat aus
  1. 1 Global (Set): shrimpCount += 1 [User (redeemer), Persisted]
  2. 2 Global (Get): shrimpCount → %myShrimpCount% [User (redeemer)]
  3. 3 Send Message: "🦐 @%user% hat schon %myShrimpCount% mal Shrimp gerufen."
FeldWert
Name!shrimp — Shrimp Counter
GroupAzaCraft Fun
Commands!shrimp
!krabbe
SourcesTwitch Message
Global Cooldown0
User Cooldown15
Chat-EingabeWerErwartetes Ergebnis
!shrimpBob (3. Mal)„🦐 @Bob hat schon 3 mal Shrimp gerufen.”
!shrimpAlice (1. Mal)„🦐 @Alice hat schon 1 mal Shrimp gerufen.”
!shrimp (nach SB-Restart)Bob„🦐 @Bob hat schon 4 mal Shrimp gerufen.” (Persisted)

Da Persisted = Persisted, überlebt der Counter einen Neustart. User-Globals sind im Streamer.bot UI sichtbar unter: Users-Pane → User suchen → Tab Globals.

Streamer.bot v1.0.4: Set macht den Wert nicht direkt als Argument verfügbar. Du musst nach Set immer noch Get aufrufen wenn du den Wert in der gleichen Action brauchst. Drei-Sub-Action-Pattern ist Standard.

Nach dem Get einen If/Else-Cascade:

4. If/Else: %myShrimpCount% Equals 100
├── Send Message: "🎉 @%user% hat 100 Shrimps! Shrimp-Lord 👑"
└── Break
5. If/Else: %myShrimpCount% Equals 50
├── Send Message: "@%user% hat 50 Shrimps. Halb zu Lord."
└── Break
6. (...normale Message von Sub-Action 3 nach unten verschoben)

Nicht direkt möglich ohne C# — User-Globals sind nicht einfach iterierbar via Sub-Actions. Workaround: Counter parallel in einen Plain-Global mit User-Namen schreiben (Global (Set) shrimpLeaderboard_%userName% = %myShrimpCount%). Oder als Tawmae-Loyalty-Points lösen (siehe Tawmae-Section).

If/Else: %myShrimpCount% Greater Than 999 → "@%user% chill, du bist süchtig" + Break