Skip to content
Senchabot Extensions

Guide

How to let mods switch OBS scenes from chat

OBS Bridge listens to Twitch or Kick chat and passes commands from the people you authorize to OBS on your computer. Turn on the WebSocket server in OBS, enter your channel and authorized users on the setup page, and keep the tool URL you get open. When a mod types !scene game, OBS switches to a scene with "game" in its name.

Published

Tools covered:OBS Bridge

How do you turn on WebSocket in OBS?

  1. In OBS, open Tools → WebSocket Server Settings from the top menu.
  2. Check the Enable WebSocket server box.
  3. If authentication is on, click Show Connect Info and copy the password.
  4. Click OK.

OBS Bridge talks to obs-websocket 5, which comes built into OBS Studio 28 and later. By default it connects to ws://127.0.0.1:4455; if OBS is on the same computer, leave the WebSocket URL field empty. If OBS is on another computer, enter that computer's address and port, for example ws://192.168.1.20:4455. If it can't connect, the tool tries again every 5 seconds.

How do you set up OBS Bridge?

  1. Open the OBS Bridge setup page.
  2. Type the Twitch channel, the Kick channel or both for it to listen to.
  3. Add Authorized Users. Who to add is explained below.
  4. Enter your OBS WebSocket password, and change the WebSocket URL if you need to.
  5. Copy the Tool URL and open it in a browser tab or as a Custom Browser Dock in OBS.
  6. The tool page lists your OBS scenes. Click the Main and BRB buttons next to the scenes you want to use as Main and BRB.

If you don't pick any, it looks for scenes named Main Scene for Main and BRB Scene for BRB. Your picks are saved in the tool page's URL, so copy the URL again after choosing and keep it somewhere. Next time you open it, the same scenes load.

Which chat commands are there?

Default OBS Bridge chat commands
CommandWhat it does
!scene <scene name>Switches to the scene whose name matches
brbSwitches to the BRB scene
backSwitches to the Main scene
!startstream / !stopstreamStarts / stops the stream
!startrecord / !stoprecordStarts / stops recording

brb and back are typed without an exclamation mark. Commands ignore case, but the whole message has to be the command: brb works, brb 5 min doesn't. You can rename any command under Commands on the setup page, for example !switch instead of !scene.

The stop stream command really does end your stream. Keep the authorized list short.

How does the !scene command find the right scene?

It looks for an exact match first: !scene game switches to the scene named exactly "Game", ignoring case. Without an exact match, it picks the first scene with that word in its name: !scene chatting finds the "Just Chatting" scene. If no scene matches, nothing happens.

If more than one scene contains the same word, the one highest in your Scenes list wins. With similarly named scenes, typing the full name is the safest bet. When you add or rename a scene, the list updates on its own.

Who can use the commands?

Only the people on the Authorized Users list. If the list is empty, nobody can use commands, not even the broadcaster, so you need to add your own account too.

Each user is added with a platform and shows up in the URL as commandUser=twitch:bob,kick:alice. A message only counts as a command if both the platform and the name match. That way, even if someone on Kick grabs a Twitch mod's name, they can't switch scenes.

Old names saved without a platform (just bob) work on that platform if the URL sets up a single platform. When both platforms are on, these names are marked in yellow on the tool page and can't use commands until you pick a platform for them.

Does the tool page have to stay open?

Yes. The tool page is what reads chat and passes commands to OBS. If you close the tab, commands stop working. Keep the tool open in a tab or as a dock in OBS for the whole stream; if the connection to OBS drops, the tool tries to reconnect every 5 seconds.

Why should you treat the tool URL like a password?

Because your OBS WebSocket password is inside the URL (the obsWebsocketPassword parameter). Sharing the URL means sharing your password. Don't show it on stream, don't post it in chat, and hide the address bar when you share your screen.

The connection to OBS goes straight from your browser to OBS. The tool page itself loads from extensions.senchabot.com like any website, so the full address, password included, goes along with that request.