Streamer.bot adapter
The Streamer.bot adapter receives confirmed KALYIX Tip events. Your existing alert actions can stay in place. You only replace old donation variables with KALYIX variables.
Requirements
- Streamer.bot 1.0.4 or newer.
- The current KALYIX Streamer.bot import file from Downloads.
- An extension token from the Extensions Dashboard.
- An active KALYIX Tip page.
Setup
- Download the Streamer.bot import file.
- Import the file into Streamer.bot.
- Open the imported
KALYIX Setupaction. - Enter your extension token in the
bridgeTokenargument. - Check the bridge URL in the
bridgeUrlargument:
wss://extensions.kalyix.de/extensions/ws
- In the
KALYIX Tip BridgeWebSocket client, make sure TLS is set toTLS 1.2orDefault/System. - On
KALYIX Setup, run the importedTesttrigger once. This stores the token, URL, and WebSocket index in Streamer.bot. - On
KALYIX Connect, run the importedStreamer.bot Startedtrigger once manually, or use the additional test trigger if your import includes one. - Open the Streamer.bot history. After connecting, you should see
hellofirst and thenauth.ok. - Send a test from the Extensions Dashboard.
- Create or open an alert action in Streamer.bot.
- Use the
KALYIX Tip Paidtrigger.
After the first successful setup, Streamer.bot reconnects automatically on the next start because KALYIX Connect runs through the imported Streamer.bot Started trigger.
Imported actions and triggers
| Action | Trigger | Purpose |
|---|---|---|
KALYIX Setup | Core -> Test | Run once after entering the token. Stores token, bridge URL, and WebSocket index. |
KALYIX Connect | Core -> Streamer.bot -> Started | Automatically connects Streamer.bot to KALYIX when Streamer.bot starts. |
KALYIX Connect | optional Core -> Test | Useful for the first manual connect or troubleshooting without restarting Streamer.bot. |
KALYIX WebSocket Message | Core -> WebSocket -> Client -> Message | Handles hello, sends auth, receives deliveries, and sends ACK. |
Streamer.bot events
When a paid tip or test event arrives, the adapter triggers this custom event:
kalyix.tip.paid
In Streamer.bot, use it as a custom trigger. From there, you can add normal sub-actions such as OBS, sound, TTS, logs, Discord, or custom C# logic.
Variables
The most important trigger variables:
| Variable | Meaning |
|---|---|
%kalyixEvent% | Event name, for example kalyix.tip.paid. |
%kalyixDeliveryId% | Delivery ID. |
%kalyixEventId% | KALYIX event ID. |
%kalyixTipId% | Tip ID. |
%kalyixPaidStatus% | True when the tip is paid. |
%kalyixAmount% | Amount as a number. |
%kalyixAmountCents% | Amount in cents. |
%kalyixCurrency% | Currency, for example EUR. |
%kalyixUsername% | Username, if allowed. |
%kalyixDisplayName% | Display name, if allowed. |
%kalyixMessage% | Message, if allowed. |
%kalyixGoalId% | Goal ID, if allowed. |
%kalyixGoalTitle% | Goal title, if allowed. |
%kalyixPageSlug% | Page slug, if allowed. |
%kalyixCreatedAt% | Event timestamp. |
%kalyixRawPayload% | Original payload as JSON. |
If a field is not allowed, it is not delivered. Build actions so optional variables may be empty.
Send test
The Send test button in the Extensions Dashboard creates a real extension event for the adapter. It is delivered like tip.paid, but it is not stored as a real payment in the Tip payment history.
Troubleshooting
| Problem | Check |
|---|---|
| No event in Streamer.bot | Is KALYIX Connect active and is the WebSocket connection open? |
auth_timeout | Was the auth action triggered after connecting, and is the token set? |
already_authenticated | The connection is already authenticated. Do not send auth multiple times. |
| Fields are missing | Check whether the matching data fields are enabled in the dashboard. |
| Test works, real tips do not | Check whether event:tip.paid is enabled and the Tip page actually creates paid tips. |