Streamer.bot
Included with Macro DeckRun Streamer.bot actions, send chat messages and react to every event Streamer.bot reports.
The Connect Streamer.bot dialog with address, port, endpoint and password
- Run any Streamer.bot action, with arguments
- Fire custom code triggers
- Send chat messages to Twitch, YouTube, Trovo or Kick
- React to any event Streamer.bot reports
- Read Streamer.bot global variables into Macro Deck
The Streamer.bot integration connects Macro Deck to the WebSocket server of Streamer.bot. Your buttons start the actions you built in Streamer.bot, and everything Streamer.bot reports (chat messages, follows, subs, raids, channel point redemptions, timers and custom code events) can start a flow in Macro Deck.
What you can do
- Run a Streamer.bot action. Pick it from the list of your actions and pass optional arguments, which the action reads as
%key%. - Fire a custom code trigger, also with optional arguments.
- Send a chat message through Streamer.bot to Twitch, YouTube, Trovo or Kick, as the broadcaster account or as the bot account. The message can contain Macro Deck variables and event values.
- Read a Streamer.bot global variable, persisted or for the session only, into a Macro Deck variable.
- React to any Streamer.bot event with the Streamer.bot Event trigger. Pick a source, for example Twitch, and an event to narrow it, or leave both empty to react to everything. The flow receives the user, the message and the raw event data as JSON.
Some example setups:
- A Scene: Gaming button that runs a Streamer.bot action and passes the scene name as an argument.
- A Hydrate button with two Send Chat Message actions that post the same reminder on Twitch and on YouTube.
- A flow that runs on a Twitch follow event in Streamer.bot and shows a notification in Macro Deck.
- A button that reads a counter from a Streamer.bot global variable and shows it as its label.
How it behaves
Macro Deck stays connected to Streamer.bot and receives its events as they happen. The variables show whether the connection is up, the Streamer.bot version, the instance name and the broadcaster's name and platform. When Streamer.bot closes or its WebSocket server stops, Macro Deck keeps trying to reconnect, and the Connected and Disconnected triggers let a flow react. The integration has a single configuration.
What you need
- Macro Deck 3 on Windows, macOS or Linux
- Streamer.bot running on this computer or another one in your network
- The WebSocket server started in Streamer.bot under Servers/Clients > WebSocket Server
Set it up
Step 1: Start the WebSocket server in Streamer.bot
In Streamer.bot, open Servers/Clients > WebSocket Server and make sure the server is started. Note the address, port and endpoint, and the password if you turned on authentication.
Step 2: Open Streamer.bot in Macro Deck
In Macro Deck, click Integrations in the sidebar and click Streamer.bot. On the Overview tab, click Set up in the Configuration section. Turning on the switch at the top right opens the same dialog, and the integration is turned on once the setup is done.
Step 3: Enter the connection details
Fill in the dialog Connect Streamer.bot:
- Address:
127.0.0.1when Streamer.bot runs on the same computer, otherwise its IP address. - Port: the WebSocket server port,
8080by default. - Endpoint: the path the server listens on,
/by default. - Password: only if authentication is turned on in Streamer.bot.
Click Continue. Macro Deck tests the connection before it saves it.
- Address:
Step 4: Add a Streamer.bot action to a button
On the Deck page, click the button you want to use. The deck must be unlocked: when the button at the top right reads Lock, it is unlocked. The editor opens with Short Press selected. Click + Add action, select Streamer.bot on the left of the Add action dialog and pick Run Action. Select the Streamer.bot action under Action and, if it needs them, add Arguments. Then click Save.
Step 5: Press the button
Press the button on your phone, tablet or in the web client. Streamer.bot runs the action. If nothing happens, check that the WebSocket server in Streamer.bot is started and that the configuration shows Connected on the Streamer.bot page under Integrations.
Actions4
Put these on a button or run them from a flow.
- Run Action
- Runs a Streamer.bot action, with optional arguments.
- Execute Code Trigger
- Fires a Streamer.bot custom code trigger, with optional arguments.
- Send Chat Message
- Sends a chat message through Streamer.bot to Twitch, YouTube, Trovo or Kick.
- Get Global Variable
- Reads a Streamer.bot global variable into a Macro Deck variable.
Triggers3
A button or flow can react to these events.
- Streamer.bot Event
- Anything Streamer.bot reports, such as chat messages, follows, subs, raids, redemptions, timers and custom code events. Optionally narrowed by source and event.
- Connected
- Macro Deck connected to Streamer.bot.
- Disconnected
- The connection to Streamer.bot was lost.
Variables5
Show these values on buttons and widgets, or use them in conditions.
streamerbot_is_connected- Whether Macro Deck is connected to Streamer.bot.
streamerbot_version- The Streamer.bot version.
streamerbot_instance_name- The name of the Streamer.bot instance.
streamerbot_broadcaster_name- The broadcaster account in Streamer.bot.
streamerbot_broadcaster_platform- The platform of the broadcaster account.
Frequently asked questions
Does it work when Streamer.bot runs on another computer?
Yes. Enter that computer's IP address as Address. In Streamer.bot, the WebSocket server has to listen on an address the other computer can reach, and the port has to be open in its firewall.
Do I need a password?
Only if you turned on authentication for the WebSocket server in Streamer.bot. Macro Deck stores the password encrypted on the computer that runs Macro Deck.
How do I pass values to a Streamer.bot action?
Add them under Arguments in Run Action or Execute Code Trigger. Each key is available in Streamer.bot as %key%.
What happens when Streamer.bot closes?
Macro Deck keeps trying to reconnect and connects again once the WebSocket server is back. Until then, actions fail with Streamer.bot is not connected.
Why does Get Global Variable say the variable does not exist?
Check the name, and whether the variable is persisted in Streamer.bot. Turn off Persisted in the action to read a variable that only lives for the current session.
More in Streaming
OBS Studio
Included with Macro DeckSwitch scenes, control your stream, recording and audio, and react to what happens in OBS Studio.
Meld Studio
Included with Macro DeckSwitch and stage scenes, control layers, effects and audio tracks, and go live in Meld Studio.
Streamlabs Desktop
Included with Macro DeckSwitch scenes, control your stream, recording and audio sources in Streamlabs Desktop.
Twitch
Included with Macro DeckShow your Twitch chat and stream stats, moderate, run polls and ads, and react to follows, subs and raids.
YouTube
Included with Macro DeckShow your YouTube live chat and stream stats, change title and tags, and react to Super Chats and members.