Animated diagram: triggers such as a follow, chat command, channel points, or deck button start an action with four sub-actions (show source, play audio file, wait, hide source) that control OBS at the production site. The Streamer.bot Deck reaches the action through the Streamer.bot website, with no open router port

What is Streamer.bot?

Streamer.bot is one of the most powerful automation tools for live streams. The software runs locally on your production PC and connects events from Twitch, YouTube, or Kick to actions you build yourself. It can control OBS, send chat messages, play media, show and hide sources, manage variables, and trigger complex sequences.

In an IRL stream, the streamer isn't sitting at that PC. So Streamer.bot stays with OBS at the production site, while Moblin, IRL Pro, or a hardware encoder sends the mobile picture over SRT, SRTLA, or RTMP to the relay or OBS.

The web-based Streamer.bot Deck adds freely assignable buttons on your smartphone or tablet to this setup. That way you can trigger prepared actions on the road without exposing the OBS or Streamer.bot WebSocket to the internet as an open control port.

Typical IRL signal path: smartphone or encoder → relay server → OBS and Streamer.bot → Twitch, YouTube, or Kick. A separate mobile feedback channel brings important alerts to the streamer's Bluetooth speaker or headphones as well.

Contents of the Streamer.bot guide

1. Understanding triggers, actions, and sub-actions

A trigger is what sets things off. That can be a follow, a subscription, a donation, a chat command, an OBS scene change, or a timer. An action describes the complete sequence that should react to it. The individual steps inside the action are called sub-actions.

The building blocks at a glance
Building blockMeaningExample
TriggerWhat sets things offFollow, sub, donation, chat command, scene change in OBS, timer
ActionThe whole sequence that follows the trigger"IRL: new follow"
Sub-actionA single step in the actionShow a source, play an audio file, wait briefly
VariableA value from the trigger that later steps reuseDisplay name, amount

A follow can, for example, show an OBS source, start a local audio file, insert a name, wait a few seconds, and hide the source again. Variables from the trigger, such as the display name or the amount, can be reused in later steps.

2. Requirements for the IRL setup

Only add Streamer.bot once the mobile video path works reliably. That way, if something goes wrong, it's clear whether the fault is in the uplink, the relay, OBS, or the automation.

3. Installing Streamer.bot

  1. Download Streamer.bot only from the official website.
  2. Unpack the ZIP archive into a local folder of its own. According to the official guide, you should avoid a synchronized OneDrive, Google Drive, or similar cloud folder.
  3. Start Streamer.bot.exe. The Windows version is portable and needs no traditional installation.
  4. Normally don't start Streamer.bot as administrator. Custom C# code in particular deserves the same caution as any other locally executed program.
  5. After the first launch, set a fixed backup location for exports and backups.
Mind your operating system: Windows is the regularly supported platform. The official documentation classes Linux and macOS solutions as experimental, and they may need additional components.

4. Connecting Twitch, YouTube, or Kick

In the platform settings, connect only the accounts whose events or chat functions you actually need. For a Twitch setup, for example, you can use separate broadcaster and bot accounts. For YouTube and Kick, the exact feature set depends on the integration currently supported.

  1. Open the platform you want in Streamer.bot and start the official sign-in or authorization process.
  2. Check the account name and channel after signing in.
  3. Avoid permissions you don't need and account connections you don't use.
  4. Use a simple chat or test trigger to check that events are coming in.

5. Setting up OBS WebSocket securely

Since OBS Studio 28, OBS WebSocket v5 is built in. It lets Streamer.bot read and control scenes, sources, and the stream status.

  1. In OBS, open Tools → WebSocket Server Settings.
  2. Enable the WebSocket server, set a strong password, and change the default port 4455 only if there's a real conflict.
  3. In Streamer.bot, open Stream Apps → OBS and add a new connection.
  4. If both programs run on the same PC, use 127.0.0.1, WebSocket v5, port 4455, and the password you set.
  5. Enable Auto Connect on Startup and Reconnect on Disconnect.
  6. Check that the current scene, sources, and stream status show up in Streamer.bot.
Don't expose it publicly: The OBS WebSocket port and the Streamer.bot WebSocket port don't belong on the internet unprotected. For connections between several of your own devices, use a secured private network or VPN.

6. Streamer.bot Deck: IRL control without open router ports

Streamer.bot Decks are the official web-based alternative to a classic Stream Deck. Streamer.bot itself runs with OBS on the production PC. The application connects to the Streamer.bot web service, and the IRL streamer signs in on the website while on the road and operates their private deck there.

You create the deck on the Streamer.bot website. To do that, you sign in there with your own Streamer.bot account and create a new deck. Because this interface is web-based, you can then open it on the road on a smartphone, tablet, or other suitable browser device.

Connection path: smartphone or tablet → Streamer.bot website → connected Streamer.bot instance on the production PC → prepared action → OBS. This deck route normally needs no incoming port forwarding on the router.
Streamer.bot Deck on a smartphone and tablet with large buttons for mute, 180-degree rotation, picture, marker, BRB, and camera switch in mobile IRL use

An example of a prepared IRL deck: the large buttons trigger mute, 180-degree rotation, screenshot, stream marker, BRB scene, and camera switch on the connected production system. The button labels in the illustration are in German.

The right order: actions first, then the web deck

  1. Finish the actions locally: On the production PC, first create every function you want as an action in Streamer.bot, for example muting the microphone, rotating a source, taking a screenshot, setting a marker, switching the camera, or switching to BRB.
  2. Test each action on its own: Run each action directly in Streamer.bot and check that OBS reacts exactly as intended. Only set up the web deck after that.
  3. Connect Streamer.bot to the website: In the local Streamer.bot application, click Login at the bottom left and finish the sign-in or authorization in your browser. That links this Streamer.bot instance to your own website account.
  4. Sign in on the Streamer.bot website: Open the official web-based deck interface with the same account.
  5. Create a new deck: On the website, create a new private deck for IRL use and, if needed, prepare several pages or function groups.
  6. Put actions on buttons: Assign the actions you created locally to the deck buttons you want. Keep labels short and unambiguous, for example MIC OFF, MIC ON, BRB, or CAM 2.
  7. Open it on the road: Open the new deck on your smartphone or tablet through the Streamer.bot website and test it over cellular, away from your home Wi-Fi.
  8. Keep the production system running: At the production site, OBS, Streamer.bot, and the connection to the Streamer.bot web service have to stay active. A check image should confirm that the triggered action really ran.
Rule of thumb: The web deck doesn't create any OBS functions by itself. It provides the mobile buttons that trigger Streamer.bot actions you've already built and tested.

Useful deck buttons for IRL streams

Examples of mobile controls
AreaButtonPossible action
AudioMIC OFF / MIC ONMute or unmute the right audio source in OBS
CameraCAM 1 / CAM 2Switch an OBS source or scene; rotate or transform a source in OBS
ScenesLIVE / BRBSwitch between the live picture and a prepared break scene
AlertsALERT OFF / TESTMute alert audio or trigger a prepared test
HelpTECHSend a canned message to production helpers or moderation

Important for the camera: In this setup, Streamer.bot controls OBS. An OBS source can be switched, mirrored, or rotated. Switching between the front and rear camera of the mobile smartphone only works if the streaming app you use, or an additional connection, explicitly passes that function on to Streamer.bot.

For use outdoors, a few large, high-contrast buttons beat an overloaded grid. Give audio, camera, scenes, and emergency functions separate areas. Critical functions like End stream don't belong right next to switches you use often.

Protect the deck: Use only a private deck, don't share access or the deck link, lock the mobile device, and sign lost devices out of the account right away. For actions with serious consequences, add an extra confirmation or a deliberately two-step action.

7. Your first alert action, step by step

  1. In OBS, prepare an alert scene or source group with an image, text, and a short local media file.
  2. In Streamer.bot, create an action with a clear name such as IRL: new follow.
  3. Add the matching platform trigger. For the first test, activate just a single event type.
  4. As OBS sub-actions, show the alert source and restart the media file from the beginning.
  5. Insert a short wait and then hide the source again.
  6. Run the trigger with Test Trigger and check the Action History if something goes wrong.
  7. Make a local OBS test recording and check that picture and sound play exactly once.

Only once this simple sequence works should you add names, amounts, random selection, queues, or more platforms.

8. Twitch channel points for images, Discord, and clips

Twitch channel points aren't just good for short pop-ups. A redeemed reward can start a complete action in Streamer.bot. That lets viewers, for example, request a snapshot from OBS, create a Twitch clip, set a stream marker, or briefly change a prepared scene or source.

Connecting a channel point reward

  1. Under Platforms → Twitch → Channel Point Rewards, load the existing rewards or create a new reward directly in Streamer.bot.
  2. Create an action with a clear name such as Channel points: IRL screenshot.
  3. As the trigger, pick Twitch → Channel Reward → Reward Redemption and assign exactly the reward you want.
  4. Limit the cost, the global cooldown, and the maximum number per stream and per viewer. Expensive actions shouldn't run uncontrolled at the same time.
  5. If you need input from the viewer, it's available to the action as a variable. Texts have to be filtered before any public display or forwarding.
Recommendation: Create rewards directly through Streamer.bot if you can. Only then does Streamer.bot own the reward and manage its full status, including fulfilling or refunding it.

Taking a screenshot from OBS

With the OBS sub-action Take Screenshot, Streamer.bot can save an image from a selected scene or source. The resulting file path is then available for further steps.

Passing an image or link to Discord

Streamer.bot supports Discord webhooks for messages. The simple built-in Basic Webhook sends text, for example the viewer's name and a clip link. For the actual screenshot file, you also need a vetted file upload action, such as your own webhook/C# action or a controlled upload whose image URL is then sent to Discord.

Keep the Discord webhook secret: Never publish the webhook address in a website, a chat command, an export, or a publicly reachable script. Clean out the screenshot folder regularly.

Creating a Twitch clip or stream marker

For a reward like Create clip, the action can run the Twitch sub-action Create Clip. The documented duration is between 5 and 60 seconds. On success, Streamer.bot returns the clip URL, among other things, and you can then send it to Twitch chat or through a Discord webhook.

A stream marker is a low-key alternative if you only want to review and cut the spot later in the VOD. Stream markers require VODs to be enabled on Twitch.

Example flow: viewer redeems channel points → Streamer.bot checks the cooldown → OBS saves the scene or source you want → a supplementary upload action provides the image → Discord gets a notice and the image link. For a clip, Create Clip runs instead and the generated clip URL is passed on.

Community project: Wheel of fortune for Streamer.bot

Streamer.bot can bring the wheel of fortune ("Glücksrad") by Bittersweet1987 straight into your stream as an interactive extension. The freely available GitHub project includes the local browser source needed for OBS, an extensive settings page, and a prepared Streamer.bot import. You can customize the colors, texts, images, probabilities, and win messages of the segments.

Preview of the customizable wheel of fortune from Bittersweet1987's community project for Streamer.bot

Preview from the project "Glücksrad for Streamer.bot" by Bittersweet1987. The repository describes the project as MIT-licensed.

How the wheel fits into the IRL workflow

  1. Download the project from GitHub and check all files before importing.
  2. Import the bundled StreamerBot_Import file into Streamer.bot. That creates the prepared action.
  3. Design the wheel through settings.html, then add the generated or adjusted index.html as a local browser source in OBS.
  4. Connect the imported wheel action to the trigger you want, for example a specific Twitch channel point reward.
  5. For donations, use the event trigger of the provider you've actually connected. Only if Streamer.bot receives the donation through that integration can it start the same wheel action automatically.
  6. Test the prizes and probabilities in a local recording first. Monetary values or binding prizes need clear rules. For pure fun actions, harmless effects, scenes, sounds, or short challenges work well.
Two possible triggers, one action: channel points redeemed or donation detected → Streamer.bot starts the custom event glücksradStart → the wheel spins in the OBS browser source → the winning segment can trigger another prepared Streamer.bot action.
Run it locally only: The project connects the browser source to ws://127.0.0.1:8080. Don't open the Streamer.bot WebSocket port on your router. The current project file also loads TweenMax from cdnjs, so the animation can fail if the CDN isn't reachable. If you want to work fully offline, you have to provide this dependency locally beforehand and adjust the source reference accordingly.

The wheel of fortune is an independent community project and not part of IRL4YOU or Streamer.bot. The project description, the current source code, and the developer's notes in the repository are what counts.

9. Useful Streamer.bot automations for IRL

Practical automations on the production PC
TriggerActionBenefit in an IRL stream
Follow, sub, or donationStart an alert scene and send a chat messageA personal reaction without a ready-made standard alert box
Chat commandBriefly show an OBS sourceShow information or interactive elements
OBS switches to OFFLINETrigger a Discord notice or a local actionProduction helpers notice an outage
Stream startsReset variables and enable the actions you needA clean starting state for every outing
Moderation eventLock chat, send a message, or hide sourcesA fast reaction even though the streamer is on the road
Twitch channel pointsCreate an OBS screenshot, Twitch clip, or stream markerViewers can capture special IRL moments

Streamer.bot can also kick off TTS, sound effects, and external integrations. Test these functions one at a time, so you don't end up with parallel audio paths or uncontrolled viewer texts.

10. Mobile feedback and other remote access

Streamer.bot runs on the production PC and doesn't automatically replace feedback to the mobile streamer. For classic browser alerts, you can keep opening your personal alert page in StreamBuddy and play it through a Bluetooth speaker or headphones.

For freely assignable buttons, the Streamer.bot Deck is the preferred route. If you also need direct access to WebSocket functions, the official documentation describes a VPN route with Tailscale, among other options. Authentication and encrypted connections have to be set up consistently.

Security over convenience: Depending on its configuration, an open connection could run actions, send chat messages, or control OBS. For a normal IRL alert setup, a public Streamer.bot WebSocket isn't needed at all.

11. Testing and troubleshooting

  1. Test the platform connection and the incoming trigger separately from OBS.
  2. Check the OBS connection status, host, port, WebSocket version, and password.
  3. Run the action manually with Test Trigger.
  4. In the Action History, check which step last succeeded and which variables were passed.
  5. Compare OBS source names exactly. Renamed sources can make existing actions invalid.
  6. Use a local recording and a private test stream before you process real viewer events.
  7. Also test the deck over cellular, away from your home Wi-Fi, and check each button clearly in the program view or audio mixer.

12. Updates, exports, and backup

Before an update or a bigger rework, export or back up your actions, triggers, and important settings. Review imported community actions completely before you enable them. An export is no substitute for a backup of the entire Streamer.bot folder and the local media that goes with it.

13. Security, privacy, and moderation

Streamer.bot processes its configuration locally. Once you connect Twitch, YouTube, Kick, Discord, or other integrations, their privacy terms apply as well. More information is in the IRL4YOU privacy policy.

14. Common questions about Streamer.bot in IRL streams

Does Streamer.bot run on a smartphone?

No. Streamer.bot runs together with OBS on the production PC. On the road, you trigger prepared actions through the Streamer.bot Deck in your browser. Windows is officially supported. According to the documentation, Linux and macOS are experimental.

Do I have to open router ports for the Streamer.bot Deck?

Normally not for the deck. The application on the production PC connects to the Streamer.bot web service by itself. You should never expose the OBS WebSocket or the Streamer.bot WebSocket to the internet unprotected, though. More on securing them is in sections 5, 6, and 13.

Can the deck switch between the front and rear camera on my smartphone?

Only if your streaming app explicitly passes that function on to Streamer.bot. Without that link, Streamer.bot can switch, mirror, or rotate sources and scenes in OBS. It can't switch the camera on the smartphone.

Why does nothing happen in OBS when I use "Test Trigger"?

First check the host, port, WebSocket version, and password of the OBS connection. Does Streamer.bot show the scene and sources? Then compare the source names exactly, because a renamed source makes the action invalid. The Action History shows which step last worked. Troubleshooting along the whole chain is covered in the troubleshooting guide.

Do I need Streamer.bot, or are regular alert services enough?

For simple follow, sub, or donation alerts, classic services are often enough, see stream alerts and the alerts overview. Streamer.bot is worth it when you want your own sequences. For example, several OBS steps in a row, channel points with a screenshot or clip, or buttons for when you're out.

Official documentation and more guides

For current features, the official Streamer.bot documentation is what counts, including its notes on installation, the OBS connection, Twitch channel points, OBS screenshots, clip creation, the deck feature, and the Discord webhook integration.

Streamer.bot setup service & consulting

We help with connecting to OBS, building your own triggers and actions, alert sequences, the mobile audio path, and troubleshooting in your IRL production system.

Last technically reviewed: · Updated: · Published by IRL4YOU