Custom Events Übersicht¶
Streamer.bot bietet drei Wege, Actions aus anderen Actions heraus zu triggern. Damit baust du modulare Workflows: gemeinsame Subroutinen, plattformübergreifende Trigger, Cross-Action-Kommunikation.
Die drei Ansätze¶
| Methode | Sub-Action | Trigger | Wann nutzen |
|---|---|---|---|
| Custom Event | Custom Event Trigger |
Custom → Custom |
Generic Event-System, mehrere Listener möglich |
| Code Event | nur via C# | Custom → Code Event |
Programmierbare Event-Kette mit C#-Logik |
| Run Action | Run Action |
bestehende Action wird direkt aufgerufen | Direkter Function-Call, klare 1:1-Verknüpfung |
Wann was nutzen¶
Custom Event (Sub-Action Custom Event Trigger)¶
Use-Case: Du willst dass MEHRERE Actions auf das gleiche Event reagieren ohne sie zu kennen. Loose coupling.
Beispiel: bei "internal_subEvent" reagieren:
- [Event] Sub Hype TTS (TTS vorlesen)
- [Event] Sub Discord (Discord posten)
- [Event] Sub OBS Overlay (OBS-Source anzeigen)
Alle drei haben Trigger Custom → Custom mit Event-Name internal_subEvent. Wenn ein Action das Event feuert, laufen alle drei parallel.
Run Action¶
Use-Case: Du willst eine SPEZIFISCHE andere Action aufrufen als Subroutine. Klare 1:1-Beziehung.
Beispiel: [Cmd] !clip ruft am Ende [Sys] Discord Clip Notification auf. Direkter Function-Call.
Code Event¶
Use-Case: C# Code in Streamer.bot der dynamisch andere Actions trigger. Für Power-User mit C#-Knowhow.
Beispiel-Architektur¶
Statt einer riesigen Action mit 30 Sub-Actions, modularisiere:
[Cmd] !clip [Sys] Discord-Notify
├── 1. Create Clip Trigger: Custom Event "newClip"
├── 2. If/Else success-check └── Discord Basic Webhook
├── 3. Global Set lastClipUrl
├── 4. Send Message
└── 5. Custom Event Trigger: "newClip"
[Sys] Save Clip History
Trigger: Custom Event "newClip"
└── Write To File: clips.log
Beide Helper-Actions reagieren auf newClip. !clip muss nicht wissen WAS passiert — nur "es gibt einen neuen Clip".
Sub-Action vs Trigger¶
- Custom Event Trigger (Sub-Action) → FIRES das Event
- Custom Trigger (Trigger-Type) → REAGIERT auf das Event
Eine Action mit Custom Trigger läuft wenn irgendwer das Event feuert.
Topics in dieser Sektion¶
| MD | Was |
|---|---|
| custom-event-trigger.md | Event aus Action feuern + Listener-Actions bauen |
| run-action.md | Run Action Sub-Action für direkte Subroutinen |
| custom-webhook.md | SB als HTTP-Endpoint für externe Services |
Häufige Fallen¶
- Event-Name Tippfehler — Listener werden nie getriggert, kein Fehler. Suche nach exakter Schreibweise
- Recursive Custom Events — Action triggert sich selbst → Endlos-Loop. Vermeiden oder mit Counter abbrechen
- Args-Vererbung vergessen —
Use ArgsToggle muss aktiv damit Variablen vom Sender beim Empfänger ankommen - Mehrere Empfänger-Actions — laufen alle parallel. Reihenfolge nicht garantiert
Quellen¶
- Custom Trigger: https://docs.streamer.bot/api/triggers/custom/custom
- Custom Code Event: https://docs.streamer.bot/api/triggers/custom/code-event
- Custom Event Trigger Sub-Action: https://docs.streamer.bot/api/sub-actions/core/triggers/custom-event-trigger
- Run Action Sub-Action: https://docs.streamer.bot/api/sub-actions/core/actions/run-action