Kruiz Control enables a pseudo code approach to manage and automatically handle Twitch Channel Points, Twitch Chat, OBS or SLOBS, and StreamElements or Streamlabs alerts.
Tutorial | Download | Documentation | Settings
@Kruiser8 | Trello (Roadmap) | Patreon | Support Discord
Kruiz Control Configurator is a simple frontend for Kruiz Control made by CrashKoeck which allows easy configuration of the settings files. Download the executable and add it into your Kruiz Control folder in order to manage your settings.
- (If using OBS) Install the OBS Websocket Plugin (version 4.9.x or below). Reopen OBS after installing.
- Fill out the settings files in the settings folder.
- Add the index.html to OBS/SLOBS as a browser source.
- Type
!example
in your twitch chat. If your user responds withSuccess! It worked!
, you're good to go! - Customize the triggers.txt with your own triggers from the the documentation.
Kruiz Control supports
- Twitch Channel Points
- Twitch Chat
- Twitch Hype Trains
- Streamlabs Alerts
- StreamElements Alerts
- OBS scene, source, and filter changes
- SLOBS scene and source changes
- Playing music (mp3, wav, ogg)
- Timers (triggering on an interval)
- Sending API calls
and more in the documentation!
The script should run on any broadcast software that supports browser sources, however only OBS and SLOBS support changing scenes and sources.
OBS.Live should also be supported but is untested.
To use this script with OBS, install the obs-websocket plugin (version 4.9.x or below). Reopen OBS after installing.
In OBS, click Tools > WebSockets Server Settings and enable the websocket server.
It is highly recommended to use a password!
Before the script will work, you'll need to fill out all of the settings files. Please see the settings description for more information.
Add the index.html file as a browser source within your broadcast software. It is recommended to add this source to one scene that is included in all other scenes (like your alert scene) rather than recreate this source in every scene.
- In OBS, under Sources click the + icon to add a new Browser source.
- Name it and select OK.
- Check the
Local file
checkbox. - Click Browse and open the index.html file within the Kruiz Control script directory.
- Recommended to set the width/height to 100 or less to reduce the size of the source.
For information on the pseudo code format, please see the documentation.
Setup your triggers inside of this file if you do not need actions to be run one after another.
As an example, if the below is in the triggers.txt file, then both sounds can be played at the same time.
OnChannelPoint SHIKAKA
Play 30 wait Shikaka.mp3
OnCommand sbvm 0 !intervention
Play 45 nowait MashiahMusic__Kygo-Style-Melody.wav
When you need actions to be run one-after-another, create a file in the triggers folder and add the name of the folder to fileTriggers.txt.
As an example, here's a setup to make sure multiple scene changes don't happen simultaneously.
obs.txt
OnSLDonation
OBS Scene DonationCelebration
Delay 4
OnCommand mb 0 !brb
OBS Scene BRB
Delay 5
In order to use a sound with Play
, add the sound file to the sounds folder. The supported audio formats are mp3, wav, and ogg.
The script should work with XSplit BUT the OBS-like functionality will not work. XSplit does not provide a direct websocket interface to do such actions. It may be possible to implement a plugin that provides a websocket interface to connect with xsplit. If you know a way to achieve this, please reach out.
I can definitely add support for Youtube alerts from Streamlabs. I just haven't had the time to implement it yet.
More investigation time is needed to implement Youtube with StreamElements.
Potentially if I can find the libraries to implement it. Again, if you know a way to achieve this, please reach out via twitter or discord.
Please reach out if you have any ideas or other questions that were not covered in the documentation.
Discord: Kruiz Control Support Discord
Twitter: @Kruiser8
There are a number of ways to support this project.
- Support Kruiser through Patreon.
- Translate the documentation.
- Help others in the Support Discord.
- Contribute ideas for the roadmap.
- Spread the word!
I do take commissions to implement custom functionality when necessary. Please reach out if you have a specific request.
- Kruiz Control Documentation.
- Kruiz Control Widget Template.
- Kruiz Control Configurator by CrashKoeck.
- async by Caolan McMahon (caolan)
- comfyjs by Instafluff (instafluff)
- node-shlex by Ryan Govostes (rgov)
- obs-websocket-js by Brendan Hagan (haganbmj)
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 4.0 Generic License.