Command: !shrimp¶
Per-User-Counter. Jedes Mal wenn ein User !shrimp tippt zählt SB für genau diesen User hoch und postet wie oft er es schon getan hat.
Patterns: Global (Set) Increment + Global (Get) + Send Message Sub-Actions: 3 Cooldown: User 15s / Global 0s
Action: [Cmd] !shrimp¶
Sub-Action 1: Global (Set) — Counter hochzählen¶
Pfad: Core → Globals → Global (Set)
| Feld | Wert |
|---|---|
| Variable Name | shrimpCount |
| Mode | Increment |
| Increment Amount | 1 |
| Destination | User (redeemer) |
| Persisted | Persisted |
Wichtig: User (redeemer) heißt der ausführende User (Sender des Commands). Würde das Destination = Global sein, wäre es ein globaler Counter für alle.
Increment macht: wenn der User-Global noch nicht existiert → wird auf 1 gesetzt, sonst um 1 erhöht.
Sub-Action 2: Global (Get) — Aktuellen Wert holen¶
Pfad: Core → Globals → Global (Get)
| Feld | Wert |
|---|---|
| Variable Name | shrimpCount |
| Default Value | 1 |
| Source | User (redeemer) |
| Persisted | Persisted |
| Variable Name (Destination) | myShrimpCount |
Nach diesem Schritt ist %myShrimpCount% als Argument verfügbar.
Sub-Action 3: Send Message¶
| Feld | Wert |
|---|---|
| Message | 🦐 @%user% hat schon %myShrimpCount% mal Shrimp gerufen. |
| Send using bot account | aktiv |
| Fallback to Broadcaster | aktiv |
Action-Tree¶
[Cmd] !shrimp
├── 1. Global (Set): shrimpCount += 1 [User (redeemer), Persisted]
├── 2. Global (Get): shrimpCount → %myShrimpCount% [User (redeemer)]
└── 3. Send Message: "🦐 @%user% hat schon %myShrimpCount% mal Shrimp gerufen."
Command-Einstellungen¶
| Feld | Wert |
|---|---|
| Name | !shrimp — Shrimp Counter |
| Group | AzaCraft Fun |
| Commands | !shrimp!krabbe |
| Text Matching Mode | Basic |
| Location | Start |
| Sources | Twitch Message |
| Persist per User Counter | nicht relevant (wir nutzen Globals statt Command-Counter) |
| Global Cooldown | 0 |
| User Cooldown | 15 |
Verwendungsbeispiele¶
| Chat-Eingabe | Wer | Erwartetes Ergebnis (User Bob ruft das 3. Mal) |
|---|---|---|
!shrimp |
Bob | "🦐 @Bob hat schon 3 mal Shrimp gerufen." |
!shrimp |
Alice (ihr 1. Mal) | "🦐 @Alice hat schon 1 mal Shrimp gerufen." |
!shrimp (nach Restart) |
Bob | "🦐 @Bob hat schon 4 mal Shrimp gerufen." (Persisted) |
Globals nach Restart¶
Da Persisted = Persisted gesetzt ist, überlebt der Counter einen Streamer.bot-Neustart. Du kannst die User-Globals im Streamer.bot UI sehen:
Servers/Clients-Pane ist NICHT der richtige Ort. User-Globals sind unter dem User-Profil im Twitch-User-Pane (links → Tab Users → User suchen → Tab Globals).
Persisted vs Non-Persisted¶
Wenn du wolltest dass der Counter pro Stream-Session zurückgesetzt wird:
| Feld | Wert |
|---|---|
| Persisted | Non-Persisted |
Dann ist nach jedem SB-Restart wieder 0.
Sub-Action 1 + 2 verschmelzen?¶
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. (Workaround: Set Argument: myCount = $add(%existing%, 1)$ — aber dann musst du existing vorher selbst gelesen haben.)
Drei-Sub-Action-Pattern ist Standard.
Erweiterungs-Ideen¶
Milestones¶
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)
Leaderboard¶
Nicht direkt möglich ohne C# — User-Globals sind nicht einfach iterierbar via Sub-Actions. Wenn du ein !shrimplead willst musst du entweder:
- Counter parallel in einen Plain-Global mit User-Namen schreiben (Global (Set) shrimpLeaderboard_%userName% = %myShrimpCount%)
- Oder C# (was wir hier nicht machen)
Pragmatisch: Top-Shrimper manuell im Stream-Overlay zeigen.
Cap¶
If/Else: %myShrimpCount% Greater Than 999 → "@%user% chill, du bist süchtig" + Break vor Sub-Action 3.
Import-Code¶
Streamer.bot Export-String
Falls du nicht klicken willst — hier kommt der Export-String rein sobald der Command bei uns getestet und exportiert ist.
So importierst du:
- Streamer.bot öffnen → Tab Actions
- Unten Import klicken
- Den Code-Block oben komplett kopieren und ins Dialog-Feld einfügen
- Import drücken → Action erscheint in der Liste
- Im Tab Commands ggf. die Verknüpfung mit der Action prüfen