!commands
Einsteiger !cmds !cmdlist
Liest dyn_dynCommandsIndex und gibt die Liste im Chat aus. Index wird beim Add/Del automatisch gepflegt.
Patterns
- Steps
- 4
- Cooldown
- 15s/User
- Cooldown
- 0sglobal
- Zugriff
- Public
!cmds !cmdlist
Liest dyn_dynCommandsIndex und gibt die Liste im Chat aus. Index wird beim Add/Del automatisch gepflegt.
[Cmd] !commands (dyn)| Global Name | dyn_dynCommandsIndex |
|---|---|
| Variable Name | cmdIndex |
| Persisted | aktiv |
| Input | %cmdIndex% |
|---|---|
| Operation | Is Null or Empty |
| Message | 📭 Noch keine dynamischen Commands. Mods können mit !addcommand !name <text> welche anlegen. |
|---|
Stoppt die laufende Action. Alle folgenden Sub-Actions in derselben Action werden übersprungen.
Komma-Liste in space + !-Prefix umwandeln: regeln,setup,tipp → !regeln !setup !tipp
| Variable Name | cmdList |
|---|---|
| Value | $concat("!", $replace(%cmdIndex%, ",", " !"))$ |
| Message | 🤖 Dynamische Commands: %cmdList% |
|---|
| Feld | Wert |
|---|---|
| Name | [Cmd] !commands (dyn) |
| Commands | !commands!cmds!cmdlist |
| User Cooldown | 15 |
| Global Cooldown | 0 |
| Grant Type | Allow |
| Groups | (leer = everyone) |
Wenn du das !commands aus Commands · Standard schon hast, gibt es drei Wege:
| Variante | Wie | Wann nutzen |
|---|---|---|
| A) Beide nebeneinander | Statisches !commands für Hauptcommands, dynamisches Alias !modcommands oder !extras | Wenn du Klarheit willst: was ist „offiziell“, was ist „von Mods“ |
| B) Statisch ersetzen | Statisches !commands löschen, nur die dynamische Action behalten. Index manuell mit allen Hauptcommands befüllen | Wenn alles über Persisted Globals laufen soll |
| C) Statisch + Append | Im statischen !commands als letzten Schritt einen Run Action auf die dynamische Action mit Trigger Manual: gibt beide Zeilen im Chat aus | Wenn die feste Liste der Anker bleibt und Dynamic nur ergänzt |
Variante C ist die häufigste Wahl. Siehe !commands Standard → Erweiterungs-Ideen für das Run Action-Pattern.
| Chat | Resultat |
|---|---|
!commands (Index leer) | 📭 Noch keine dynamischen Commands. Mods können mit !addcommand !name <text> welche anlegen. |
!commands (Index: regeln,setup,tipp) | 🤖 Dynamische Commands: !regeln !setup !tipp |
!cmds | Identisch. Alias-Trigger |
$substring(%cmdList%, 0, 480)$ umstellen oder auf einen !cmds page=2-Pattern erweitern (zweiter Set Argument der ab Index 480 weitermacht).dyn_*-Global im SB-UI gelöscht hat, ohne !delcommand zu nutzen, steht der Name noch im Index aber !name triggert nichts (Listener findet keinen Global). Lösung: !delcommand !name aus dem Chat: Index wird bereinigt.var parts = args["cmdIndex"].ToString().Split(',').OrderBy(s => s); CPH.SetArgument("cmdList", string.Join(" !", parts));).$replace deduped nicht. Bei Bedarf in Schritt 3 mit C# Distinct() filtern.Twitch > Chat > Whisper an %user% statt Chat-Spam.dyn_*-Globals via Streamer.bot Web-Server als JSON exposen und eine kleine Static-Page auf commands.dein-channel.de rendern. Mods können Texte dort einsehen ohne in den Chat schreiben.!cmds search wasser → nur Commands, die wasser im Namen oder Response enthalten. Braucht C# Execute, weil über alle dyn_*-Globals iteriert werden muss.| Page | Was es macht |
|---|---|
| Setup | Universal-Listener + Storage-Pattern |
!addcommand | Neuen Command anlegen |
!editcommand | Bestehenden überschreiben |
!delcommand | Löschen |
!commands (statisch) | Hartkodierte Liste der Hauptcommands |
| Tawmae Loyalty Points | Wenn du Punkte/Currency willst statt nur Text-Commands |