!shrimp
Fortgeschritten !krabbe
Per-User-Counter mit Persisted User-Global.
- Steps
- 3
- Cooldown
- 15s/User
- Cooldown
- 0sglobal
- Zugriff
- Public
!krabbe
Per-User-Counter mit Persisted User-Global.
Klassisches Drei-Schritt-Pattern: Increment → Get → Send Message. Ergebnis pro User persistiert über Streamer.bot-Neustarts hinweg.
[Cmd] !shrimpDestination = 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 |
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 |
| Message | 🦐 @%user% hat schon %myShrimpCount% mal Shrimp gerufen. |
|---|---|
| Send using bot account | aktiv |
| Fallback to Broadcaster | aktiv |
| Feld | Wert |
|---|---|
| Name | !shrimp — Shrimp Counter |
| Group | AzaCraft Fun |
| Commands | !shrimp!krabbe |
| Sources | Twitch Message |
| Global Cooldown | 0 |
| User Cooldown | 15 |
| Chat-Eingabe | Wer | Erwartetes Ergebnis |
|---|---|---|
!shrimp | Bob (3. Mal) | „🦐 @Bob hat schon 3 mal Shrimp gerufen.” |
!shrimp | Alice (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 👑" └── Break5. If/Else: %myShrimpCount% Equals 50 ├── Send Message: "@%user% hat 50 Shrimps. Halb zu Lord." └── Break6. (...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