Kruiz Control Documentation

July 12, 2026 · View on GitHub

Each handler provides its own triggers and actions that can be used in a triggers file. These are detailed below after the general formatting.

Table of Contents


General

Trigger files are sections of triggers and actions separated by empty lines. Each trigger can be followed by 1 or more actions. Here's the general format.

<Trigger>
<Action>
...
<Action>

<Trigger>
<Action>
...
<Action>

Case Sensitivity

Triggers and Actions are case insensitive. The following example sends a message after a command.

OnCommand f 0 !caseSensitive
Chat Send "Triggers and Actions are case insensitive"

The following is also correct.

Oncommand f 0 !caseSensitive
chat SEND "Triggers and Actions are case insensitive"

Note that the message itself IS case sensitive. Whenever you are supplying parameters to Triggers or Actions, they are almost always case sensitive.


Quotes

It is highly recommended to use quotes when providing multi-word arguments. For example,

Chat Send "Some really long message"
OBS Scene "Starting Soon"

Multi-line Inputs

As of Kruiz Control v2.0.6, the inputs to triggers and actions can be split over multiple lines. For example, the below action provides a Function input via multiple lines.

OnInit
Function "
  var data = 4; 
  return { value: data * 2 };
"
Error {data}

Note: While an individual input can be multiple lines, inputs cannot be distributed over multiple lines.

The below events are NOT valid.

# Invalid because the inputs are provided on the following lines.
OnInit
Random 
  "Chat Send 'Option 1'"
  "Chat Send 'Option 2'"

# Invalid because the first input ends on the first line.
# The second option will be skipped.
OnInit
Random "Chat Send 'Option 1'"
  "Chat Send 'Option 2'"

The below is technically valid, albeit funky looking. As long as a quote is not terminated until the following line, it will be parsed as a multi-line input.

# Since the end double quote for the first input is on the second line, the second line is included when processing the action.
OnInit
Random "Chat Send 'Option 1'
  " "Chat Send 'Option 2'"

Comments

Trigger files support comments using the # character. This allows you to leave text in the trigger file that is not treated as a trigger or action.

Comment Example

# My really complicated trigger
OnCommand e 10 !example
Chat Send "This is a silly example!"

Parameters

Triggers and Actions can return data that is used in following actions. Take the following example:

OnCommand sb 10 !example
Chat Send "{user} used the example command!"

The OnCommand Trigger provides a user parameter. This parameter is used in the next action as {user} and is replaced with the name of the viewer that used the command in Twitch chat.

  • Parameters are identified by {parameter} or [parameter].
  • Parameters are replaced on every action line in any position.
  • Parameters can be nested {{user}_sub_months}

{parameter}

When {parameter} is used, the literal value of the parameter is used. In almost all cases, use this. For example, here's the result when used in a Chat Send action.

Chat Send "{user} used the example command!"
> "Kruiser8 used the example command!"

[parameter]

When [parameter] is used, the value of the parameter is JSON.stringify'd before replacement. This is primarily for use with Function. This allows parameters to be easily used and be properly escaped when used in javascript code.

For example, here's the result when used in the Function action.

Function 'var name = [user]; var data = [data]; // rest of code ... }())
> (function() { var name = "Kruiser8"; var data = {"property": value}; // rest of code ...'

parameter#

Some triggers and actions provide parameters of the format param#. When you see a # on a parameter, that means there are multiple values returned and you have to loop over them. There is always a param_count parameter provided that states how many values were returned.

For example, Twitch Emotes retrieves all custom emotes available on the broadcaster's channel. The action provides an emote# parameter as well as an emote_count. The emotes would be looped through using the example below.

OnCommand e 0 !emotes
Twitch Emotes
Loop 1 {emote_count}
Chat Send {emote{loop}}

For a nicely formatted message:

OnCommand e 0 !emotes
Twitch Emotes
Loop 1 {emote_count}
List Add Emotes {emote{loop}}
List Join Emotes " "
Chat Send "Channel Emotes: {joined}"

Aliases

As of Kruiz Control v1.4, certain triggers now allow for multiple inputs. Consider the following example:

OnCommand mbv 0 !so !sh !caster !shout
Chat Send "Go check out {after} at twitch.tv/{after}"

The commands, !so, !sh, !caster, and !shout will all cause the message to be sent, regardless of which one is used. This allows you to easily set up aliases for triggers. The following triggers now support aliases:

  • OnAction
  • OnCommand
  • OnKeyword
  • OnSpeak
  • OnMessage
  • OnTWChannelPoint
  • OnTWCommunityGoalStart
  • OnTWCommunityGoalProgress
  • OnTWCommunityGoalComplete
  • OnOBSSwitchScenes
  • OnOBSTransitionTo
  • OnOBSCustomMessage
  • OnSLOBSSwitchScenes

Default Parameters

The following parameters are always available. Use the _successful_ and _unsuccessful_ parameters to test that the Kruiz Control settings are correct.

Parameters

_successful_A comma delimited list of handlers that initialized correctly.
_unsuccessful_A comma delimited list of handlers that did not initialize correctly.
_kc_event_id_A unique id (UUID) for each event occurrence in Kruiz Control. If you need a unique identifier for an event, use this.

Action

Enables the ability to create your own actions within Kruiz Control.

Action Triggers

OnAction

InfoUsed to define a list of actions that will get inserted into an event when the provided <action> is called.
FormatOnAction <action>
Format w/ AliasesOnAction <action1> <action2> ...
ExampleOnAction ReadFile
Example w/ AliasesOnAction ReadFile rf
Parameters
actionThe <action> performed that triggered this event.
in#The numbered arguments passed to the action. Replace # with a number, starting at 1 and ending at the last argument passed into the command.
in_countThe number of arguments passed to the action.

Action Actions

Action

InfoUsed to run an action by passing it through. This allows actions to be fired dynamically within an event. <action> is the full action that you want to complete. The action can be provided as a single argument (inside of quotes) or written out normally.
FormatAction <action>
ExampleAction Chat Send "Hello world"
Example w/ Single ArgumentAction "Chat Send 'Hello world'"

API

Enables the ability to call an API and use the response.

API Triggers

None at the moment.


API Actions

API Clear

InfoUsed to clear an API configuration. <name> is the name of the API to clear.
FormatAPI Clear <name>
ExampleAPI Clear HostLookup

API Data

InfoUsed to add a key-value pair as data to an API configuration. <name> is the name of the API to update. <key> and <value> are the inputs.
FormatAPI Data <name> <key> <value>
ExampleAPI Data TwitchAPI login {user}

API Get

InfoUsed to call an API and retrieve the data. <url> is the API to call.
FormatAPI GET <url>
ExampleAPI GET https://api.crunchprank.net/twitch/hosts/kruiser8?implode&display_name
Parameters
api_dataThe response from calling the API. If the API call succeeds and returns no data, this will be success. If the call fails, this will be error.

API Header

InfoUsed to add a header to an API configuration. <name> is the name of the API to update. <key> and <value> are the input header.
FormatAPI Header <name> <key> <value>
ExampleAPI Header TwitchAPI "Authorization" "Oauth {token}"

API Method

InfoUsed to set the method of an API configuration. <name> is the name of the API to update. <method> is the type of API call (i.e. GET, POST, PUT, DELETE, etc.). If this is not called, the default method is GET.
FormatAPI Method <name> <method>
ExampleAPI Method TwitchAPI POST

API RawData

InfoUsed to add raw data to an API configuration. <name> is the name of the API to call. <raw_data> is the API data. This can be used to add json or other formats to the API body.
FormatAPI RawData <name> <raw_data>
ExampleAPI RawData DummyAPI "{ user: kruiser8, text: "my custom text" }"

API Send

InfoUsed to send an API configuration. <name> is the name of the API to call.
FormatAPI Send <name>
ExampleAPI Send TwitchAPI
Parameters
api_dataThe response from calling the API. If the API call succeeds and returns no data, this will be success. If the call fails, this will be error.

API Url

InfoUsed to set the url of an API configuration. <name> is the name of the API to update. <url> is the API to call.
FormatAPI Url <name> <url>
ExampleAPI Url TwitchAPI "https://api.twitch.tv/helix/users/follows"

Chat

Enables the ability to take actions on chat message and send messages. Note that Kruiz Control can respond to messages sent by Kruiz Control.

Chat Triggers

Chat triggers use a <permission> parameter to specify who can use a command. The following values can be combined in any order.

  • b - Broadcaster
  • s - Subscriber
  • f - Follower
  • o - Founder
  • v - VIP
  • m - Moderator
  • n - Check if a user has none of the permissions above.
  • e - Everyone

You can use u as the permission to specify a user or group of users that can use a command or keyword. In this case, <optional_info> is required to specify the user. The username input is case insensitive. If multiple users are provided, they must be comma delimited without any spaces.

Example:

OnCommand u kruiser8 10 !secret

Example w/ Multiple Users:

OnCommand u kruiser8,kruizbot 10 !secret

You can also use l as the permission to specify a List or group of lists and see if any of the lists contains the user that used the command or keyword.

Note: The u and l permission may not be used together.

Example:

OnCommand l MyCustomList 10 !secret

Example w/ Multiple Lists:

OnCommand l MyCustomList,MyCustomOtherList 10 !secret

Chat triggers also use a <cooldown> parameter to put the command or keyword on cooldown for the specified number of seconds. The <cooldown> can be any number 0 or higher.


OnCommand

WARNING: Kruiz Control responds to messages sent by Kruiz Control. Please be mindful of your commands, keywords, and messages so that you do not trigger an infinite loop of messages. Twitch has chat limits and will block you from chatting.

InfoUsed to trigger a set of actions when a command is used at the beginning of a message.
FormatOnCommand <permission> <optional_info> <cooldown> <command>
Format w/ AliasesOnCommand <permission> <optional_info> <cooldown> <command1> <command2> <command3> ...
ExampleOnCommand e 0 !example
Example w/ AliasesOnCommand bvm 0 !so !caster !sh !shout
Parameters
commandThe command that triggered the event.
userThe display name of the user that sent the command.
afterThe message excluding the command.
messageThe entire chat message, including the command.
message_idThe id of the message (used with Twitch DeleteMessage). If the message was sent by Kruiz Control, the id will be an empty string ("").
dataAn object with all metadata about the message (for use with Function).
arg#The numbered arguments in the message. Replace # with a number, starting at 1 and ending at the last argument passed into the command.
arg_countThe number of arguments in the message. This indicates the number of arg# parameters returned.

OnEveryChatMessage

WARNING: Kruiz Control responds to messages sent by Kruiz Control. Please be mindful of your commands, keywords, and messages so that you do not trigger an infinite loop of messages. Twitch has chat limits and will block you from chatting.

InfoUsed to trigger a set of actions when ever a chat message is sent.
FormatOnEveryChatMessage
ExampleOnEveryChatMessage
Parameters
userThe display name of the user that sent the command.
messageThe entire chat message, including the command.
message_idThe id of the message (used with Twitch DeleteMessage). If the message was sent by Kruiz Control, the id will be an empty string ("").
dataAn object with all metadata about the message (for use with Function).

OnHypeChat

InfoUsed to trigger a set of actions when a user sends a hype chat. Using * as the <name> will execute the trigger for all users.
FormatOnHypeChat <name>
Format w/ AliasesOnHypeChat <name1> <name2> <name3>
ExampleOnHypeChat Kruiser8
Example w/ AliasesOnHypeChat Kruiser8 Kruizbot
Parameters
userThe display name of the user that sent the command.
messageThe entire chat message, including the command.
message_idThe id of the message (used with Twitch DeleteMessage). If the message was sent by Kruiz Control, the id will be an empty string ("").
amountThe value of the Hype Chat sent by the user. Example: 500 if $5 was tipped.
formatted_amountThe formatted value of the Hype Chat sent by the user. Example: 5.00 is $5 was tipped.
currencyThe ISO 4217 alphabetic currency code the user has sent the Hype Chat in.
exponentIndicates how many decimal points this currency represents partial amounts in. Decimal points start from the right side of the value defined in amount.
levelThe level of the Hype Chat, in English. Possible values are [ONE, TWO, ..., TEN], written in all caps.
is_system_messageA boolean value that determines if the message sent with the Hype Chat was filled in by the system.
dataAn object with all metadata about the message (for use with Function).

OnKeyword

WARNING: Kruiz Control responds to messages sent by Kruiz Control. Please be mindful of your commands, keywords, and messages so that you do not trigger an infinite loop of messages. Twitch has chat limits and will block you from chatting.

InfoUsed to trigger a set of actions when a keyword or phrase appears in a message.
FormatOnKeyword <permission> <optional_info> <cooldown> <command>
Format w/ AliasesOnKeyword <permission> <optional_info> <cooldown> <keyword1> <keyword2> <keyword3> ...
ExampleOnKeyword smv 10 "music"
Example w/ AliasesOnKeyword e 0 hi hello yo o7
Parameters
userThe display name of the user that triggered the keyword.
keywordThe keyword matched by the trigger.
messageThe chat message.
message_idThe id of the message (used with Twitch DeleteMessage). If the message was sent by Kruiz Control, the id will be an empty string ("").
dataAn object with all metadata about the message (for use with Function).
arg#The numbered arguments in the message. Replace # with a number, starting at 1 and ending at the last argument passed into the command.
arg_countThe number of arguments in the message. This indicates the number of arg# parameters returned.

OnSpeak

InfoUsed to trigger a set of actions when a user speaks in chat for the first time. Using * as the <name> will execute the trigger for all users.
FormatOnSpeak <name>
Format w/ AliasesOnSpeak <name1> <name2> <name3>
ExampleOnSpeak Kruiser8
Parameters
userThe display name of the user that sent the command.
messageThe entire chat message, including the command.
message_idThe id of the message (used with Twitch DeleteMessage). If the message was sent by Kruiz Control, the id will be an empty string ("").
dataAn object with all metadata about the message (for use with Function).

Chat Actions

Chat Send

InfoUsed to send a message to chat.
FormatChat Send <message>
ExampleChat Send "Hello World"

Chat Whisper

InfoUsed to send a whisper to a user.
FormatChat Whisper <user> <message>
ExampleChat Whisper Kruiser8 "Chicken Dinner"

Cooldown

Adds the ability to give events a cooldown so that they cannot be repeated within a period of time.

Cooldown Triggers

None at the moment.


Cooldown Actions

Cooldown Apply

InfoUsed to apply a cooldown to triggers. <name> is the identifier for the cooldown. <seconds> is the number of seconds before the trigger can fire again.
FormatCooldown Apply <name> <seconds>
ExampleCooldown Apply MyCustomTrigger 30

Cooldown Check

InfoUsed to check if a cooldown is active. <name> is the identifier for the cooldown.
FormatCooldown Check <name>
ExampleCooldown Check MyCustomTrigger
Parameters
<name>[true/false] Whether or not the cooldown is active where <name> is the name of the cooldown.
cooldownThe number of seconds (rounded to a whole number) left on the cooldown. This is only returned if the cooldown is active (<name> is True).
cooldown_realThe decimal number of seconds left on the cooldown. This is only returned if the cooldown is active (<name> is True).

Note: The above example, Cooldown Check MyCustomTrigger, would return the parameter MyCustomTrigger.


Cooldown Clear

InfoUsed to clear (remove) an existing cooldown. <name> is the identifier for the cooldown.
FormatCooldown Clear <name>
ExampleCooldown Clear MyCustomTrigger

Cooldown Global Apply

InfoUsed to apply a global cooldown to triggers. Global cooldowns persist between sessions (i.e. the cooldown remains after a reset). <name> is the identifier for the cooldown. <seconds> is the number of seconds before the trigger can fire again.
FormatCooldown Global Apply <name> <seconds>
ExampleCooldown Global Apply MyCustomTrigger 30

Cooldown Global Check

InfoUsed to check if a global cooldown is active. Global cooldowns persist between sessions (i.e. the cooldown remains after a reset). <name> is the identifier for the cooldown.
FormatCooldown Global Check <name>
ExampleCooldown Global Check MyCustomTrigger
Parameters
<name>[true/false] Whether or not the cooldown is active where <name> is the name of the cooldown.
cooldownThe number of seconds (rounded to a whole number) left on the cooldown. This is only returned if the cooldown is active (<name> is True).
cooldown_realThe decimal number of seconds left on the cooldown. This is only returned if the cooldown is active (<name> is True).

Note: The above example, Cooldown Global Check MyCustomTrigger, would return the parameter MyCustomTrigger.


Cooldown Global Clear

InfoUsed to clear (remove) an existing global cooldown. Global cooldowns persist between sessions (i.e. the cooldown remains after a reset). <name> is the identifier for the cooldown.
FormatCooldown Global Clear <name>
ExampleCooldown Global Clear MyCustomTrigger

Debug

Adds optional logging to Kruiz Control for debugging purposes.

Debug Triggers

None at the moment.


Debug Actions

Debug

InfoUsed to enable all debugging.
FormatDebug
ExampleDebug

Debug Chat

InfoUsed to enable debugging for Chat events.
FormatDebug Chat
ExampleDebug Chat

Debug Controller

InfoUsed to enable debugging for internal event handling.
FormatDebug Controller
ExampleDebug Controller

Debug Debug

InfoUsed to enable debugging for internal debug handling.
FormatDebug Debug
ExampleDebug Debug

Debug MQTT

InfoUsed to enable debugging for MQTT events.
FormatDebug MQTT
ExampleDebug MQTT

Debug OBS

InfoUsed to enable debugging for OBS events.
FormatDebug OBS
ExampleDebug OBS

Debug Parser

InfoUsed to enable debugging of Kruiz Control's parser to see how Kruiz Control is interpreting event code.
FormatDebug Parser
ExampleDebug Parser

Debug SLOBS

InfoUsed to enable debugging for SLOBS events.
FormatDebug SLOBS
ExampleDebug SLOBS

Debug Storage

InfoUsed to enable debugging of Kruiz Control's storage emitter class (used to pass the Twitch auth token internally)
FormatDebug Storage
ExampleDebug Storage

Debug StreamElements

InfoUsed to enable debugging for StreamElements events.
FormatDebug StreamElements
ExampleDebug StreamElements

Debug Streamlabs

InfoUsed to enable debugging for Streamlabs events.
FormatDebug Streamlabs
ExampleDebug Streamlabs

Debug Twitch

InfoUsed to enable debugging for Twitch events. This handles channel points, hype trains, and community goals. For alerts, see Debug StreamElements or Debug Streamlabs.
FormatDebug Twitch
ExampleDebug Twitch

Debug Voicemod

InfoUsed to enable debugging for Voicemod messages.
FormatDebug Voicemod
ExampleDebug Voicemod

Discord

Enables the ability to send messages to discord by creating webhooks and using discord embeds.

In order to create webhooks, follow the Making a Webhook section on this page: https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks

Once created and configured, click the Copy Webhook URL button and put that into a Discord Create action.

Discord Triggers

None at the moment.


Discord Actions

Discord Clear

InfoUsed to clear a webhook by name, removing all existing message data. <name> is the id that will be used to refer to this webhook in other discord actions. This does not remove the webhook URL.
FormatDiscord Clear <name>
ExampleDiscord Clear "GeneralChannel"

Discord Color

InfoUsed to customize the color on the left hand side of a discord embed. <name> is the id that was used to register the webhook in a Discord Create. <color> is a hex code for a color (#1a34b6).
FormatDiscord Color <name> <description>
ExampleDiscord Color "GeneralChannel" "#1a34b6"

Discord Create

InfoUsed to create/register a webhook by name for use in later actions. <name> is the id that will be used to refer to this webhook in other discord actions. <url> is the url of the discord webhook that you create.
FormatDiscord Create <name> <url>
ExampleDiscord Create "GeneralChannel" https://discord.com/api/webhooks/419746549841564984/769fhue98uywe99ftr8hFEfe878wjfh9wuf988Et

Discord Delete

InfoUsed to delete a message sent via the webhook. <name> is the id that was used to register the webhook in a Discord Create. <message_id> is optional. This defaults to the last sent message.
FormatDiscord Delete <name>
ExampleDiscord Delete "GeneralChannel"
Example w/ Message IdDiscord Delete "GeneralChannel" 810814654

Discord Description

InfoUsed to add a description to a discord embed. <name> is the id that was used to register the webhook in a Discord Create. <description> is the text to add as the embed text.
FormatDiscord Description <name> <description>
ExampleDiscord Description "GeneralChannel" "Live on Twitch!"

Discord Field

InfoUsed to add a field to a discord embed. <name> is the id that was used to register the webhook in a Discord Create. <field> is the text to add as the title of the field. <value> is the text to put in the field. <inline_optional> is an optional true/false value to specify whether or not to put this field inline (horizontally) with other fields.
FormatDiscord Field <name> <field> <value> <inline_optional>
ExampleDiscord Field "GeneralChannel" "Game" "The Binding of Isaac: Repentance"

Discord File

InfoUsed to upload a file attachment with a discord message. <name> is the id that was used to register the webhook in a Discord Create. <file> is the relative path to a file to upload. Relative paths start at the Kruiz Control root directory.
FormatDiscord File <name> <file>
Example w/ Relative PathDiscord File "GeneralChannel" "screenshots/screenshot.png"

Discord FooterIcon

InfoUsed to add an icon to the discord embed footer. <name> is the id that was used to register the webhook in a Discord Create. <icon> is the URL of the icon to add.
FormatDiscord FooterIcon <name> <icon>
ExampleDiscord FooterIcon "GeneralChannel" "https://static-cdn.jtvnw.net/jtv_user_pictures/4c5ff382-f697-4357-aebb-ff035a82b60c-profile_image-70x70.png"

Discord FooterText

InfoUsed to add text to a discord embed footer. <name> is the id that was used to register the webhook in a Discord Create. <text> is the text to add as the footer text.
FormatDiscord FooterText <name> <text>
ExampleDiscord FooterText "GeneralChannel" "Kruiser8"

Discord Image

InfoUsed to add an image to a discord embed. <name> is the id that was used to register the webhook in a Discord Create. <image> is the URL of the image to add in the body of the embed.
FormatDiscord Image <name> <image>
ExampleDiscord Image "GeneralChannel" "https://static-cdn.jtvnw.net/jtv_user_pictures/12a2c0d2-2be5-45fe-9ff9-46d05007c395-profile_banner-480.png"

Discord Message

InfoUsed to add a message to the discord webhook call. <name> is the id that was used to register the webhook in a Discord Create. <message> is the text of the discord message.
FormatDiscord Message <name> <message>
Example w/ MessageDiscord Message "GeneralChannel" "Hey folks!"

Discord Send

InfoUsed to send a message to discord, using any embed data currently set. <name> is the id that was used to register the webhook in a Discord Create.
FormatDiscord Send <name>
ExampleDiscord Send "GeneralChannel"
Parameters
discord_msg_idThe id of the message sent. This can be used with Discord Update and Discord Delete.

Discord Thumbnail

InfoUsed to set the thumbnail for the next embed. <name> is the id that was used to register the webhook in a Discord Create. <thumbnail> is the url to a thumbnail image.
FormatDiscord Thumbnail <name> <image>
ExampleDiscord Thumbnail "GeneralChannel" "https://static-cdn.jtvnw.net/jtv_user_pictures/4c5ff382-f697-4357-aebb-ff035a82b60c-profile_image-70x70.png"

Discord Title

InfoUsed to set the title for the next embed. <name> is the id that was used to register the webhook in a Discord Create. <title> is the text to use as the title.
FormatDiscord Title <name> <image>
ExampleDiscord Title "GeneralChannel" "LIVE ON TWITCH"

Discord Update

InfoUsed to update a message previously sent via the webhook using any embed data currently set. <name> is the id that was used to register the webhook in a Discord Create. <message_id> is optional. This defaults to the last sent message.
FormatDiscord Update <name> <message_id>
ExampleDiscord Update "GeneralChannel"
Example w/ IdDiscord Update "GeneralChannel" 801801891

Discord URL

InfoUsed to add a link to the discord embed title. <name> is the id that was used to register the webhook in a Discord Create. <url> is the link URL for the embed.
FormatDiscord Url <name> <url>
ExampleDiscord Url "GeneralChannel" "https://twitch.tv/kruiser8"

File

A small handler to allow you to read files. Files may need to be referenced via relative paths instead of absolute paths. That is, use example.txt, folder/example.txt, or ../folder/example.txt instead of C:/Users/PC/Documents/folder/example.txt.

As a best practice, wrap file paths in quotation marks. Example: "folder/example.txt".

File Triggers

OnFileUpdated

InfoTriggers when a file updates. <file> indicates the name of the file to check for updates.
FormatOnFileUpdated <file>
ExampleOnFileUpdated "users/champion.txt"
Parameters
contentThe text content of the updated file.

File Actions

File Read

InfoReads a file locally. <file> indicates the name of the file to read.
FormatFile Read <file>
ExampleFile Read "users/champion.txt"
Parameters
contentThe text content of the file.

List

A small handler to allow you to store and update lists of items.

List Triggers

None at the moment.


List Actions

List Add

InfoAdds an item to the list. <list> is the name of the list to update. <value> is what gets added to the list. <index> is optional to add at a specific index.
FormatList Add <list> <value> <index>
ExampleList Add MyList {user}
Example with indexList Add MyList {user} 2
Parameters
positionThe position of the value in the list (starting from 1) or -1 if not found.
indexThe index of the value in the list (starting from 0) or -1 if not found.

List Contains

InfoCheck if an item exists in a list. <list> is the name of the list to check. <value> is the item being checked.
FormatList Contains <list> <value>
ExampleList Contains MyList {user}
Parameters
contains[true/false] If the list contains the value.

List Count

InfoCheck how many items are in a list. <list> is the name of the list.
FormatList Count <list>
ExampleList Count MyList
Parameters
countThe number of items in the list.

List Empty

InfoRemoves all items from a list. <list> is the name of the list to update.
FormatList Empty <list>
ExampleList Empty MyList

List Export

InfoReturns the list as a string using JSON.stringify. <list> is the name of the list to export.
FormatList Export <list>
ExampleList Export MyList
Parameters
<list>The list in string form where <list> is the name of the list.

Note: The above example, List Export MyList, would return the parameter MyList.


List Get

InfoReturns a value from the list. <list> is the name of the list. <index> is an optional index. If no index is included, a random element is returned. "First" and "Last" are valid <index> values.
FormatList Get <list> <index/First/Last>
ExampleList Get MyList
Example with IndexList Get MyList 1
Example with Index (Last)List Get MyList Last
Parameters
valueThe value returned from the list or "None found" if there are no items in the list.
positionThe position of the value in the list (starting from 1) or -1 if not found.
indexThe index of the value in the list (starting from 0) or -1 if not found.

List Global

InfoDesignates a list as global so that it will persist between sessions (i.e. the list remains after a reset). <list> is the name of the list. <on/off> determines whether to make the list global (on) or remove it as a global list (off).
FormatList Global <list> <on/off>
ExampleList Global MyList on

List Import

InfoUsed to import a list from an input JSON.stringify'd array. <list> is the name of the list.
FormatList Import <list> <import>
ExampleList Import MyList '["item 1","item 2","item 3"]'

List Index

InfoReturns the position and index (0-based) of a value in the list. <list> is the name of the list.
FormatList Index <list> <value>
ExampleList Index MyList {user}
Parameters
positionThe position of the value in the list (starting from 1) or -1 if not found.
indexThe index of the value in the list (starting from 0) or -1 if not found.

List Join

InfoUsed to combine all items in a list into a text value with the specified <delimiter> as a separator. <list> is the name of the list.
FormatList Join <list> <delimiter>
ExampleList Join MyList ", "
Parameters
joinedThe result of combining all of the items in a list.

List Remove

InfoUsed to remove and return an item from a list. <list> is the name of the list. <index> is an optional index. If no index is included, a random element is returned. "First" and "Last" are valid <index> values.
FormatList Remove <list> <index/First/Last>
ExampleList Remove MyList
Example with IndexList Remove MyList 1
Example with Index (Last)List Remove MyList Last
Parameters
valueThe value returned from the list or "None found" if there are no items in the list.
positionThe position of the value in the list (starting from 1) or -1 if not found.
indexThe index of the value in the list (starting from 0) or -1 if not found.

List Set

InfoAdds an item to the list. <list> is the name of the list. <index> is optional to add at a specific index. <value> is the item to add.
FormatList Set <list> <index> <value>
ExampleList Set MyList 1 {user}
Parameters
positionThe position of the value in the list (starting from 1) or -1 if not found.
indexThe index of the value in the list (starting from 0) or -1 if not found.
valueThe value added to the list.

List Unique

InfoRemove any duplicates from the list. <list> is the name of the list to update.
FormatList Unique <list>
ExampleList Unique MyList

Message

A small handler to allow you to trigger events from another event without using an external application (like OBS or Chat).

Message Triggers

OnMessage

InfoUsed to fire a set of actions when a message is sent with Message Send. Using * as the <message> will execute the trigger for all messages.
FormatOnMessage <message>
Format w/ AliasesOnMessage <message1> <message2> ...
ExampleOnMessage MyCustomMessage
Example w/ AliasesOnMessage MyCustomMessage MyOtherCustomMessage
Parameters
messageName of the message.
dataData included with the message.

Message Actions

Message Send

InfoUsed to send a message and trigger other events. <message> is used to identify the message for OnMessage events. <data> is any information you want to pass through.
FormatMessage Send <message> <data>
ExampleMessage Send MyCustomMessage {user}

Miscellaneous

A small selection of actions that are included for increased usability.

Miscellaneous Triggers

OnInit

InfoUsed to fire a set of actions when Kruiz Control starts.
FormatOnInit
ExampleOnInit

Miscellaneous Actions

Args

InfoUsed to parse a given input into the specified named args (or parameters).
FormatArgs <value> <arg>
Format w/ AliasesArgs <value> <arg1> <arg2> <arg3>
Example w/ Multiple ArgsArgs "FirstItem SecondItem" <item1> <item2>
Parameters
<arg>Returns a value for each <arg> value specified.
Example Usage
Parses the input to a command for a specified scene and source to hide.
# Example Usage: !hide Game GameSource
OnCommand b 0 !hide
Args {after} {scene} {source}
OBS SceneSource {scene} {source} off

AsyncFunction

AsyncFunction is an alternate to Function that allows you to call javascript code using the await keyword. This is for advanced use cases that require API calls, promises, etc. For more information, please see this documentation.

InfoUsed to create an async javascript function using the input text. For more information see Function.
FormatAsyncFunction <function>
ExampleAsyncFunction 'return {total: {total} + 1}'

Delay

InfoUsed to wait a specific number of seconds before taking the next action.
FormatDelay <seconds>
ExampleDelay 8

Error

InfoUsed to console.error log a message for use in debugging or testing.
FormatError <message>
ExampleError "Is this called?"

Exit

InfoUsed to exit an event without processing the rest of the actions.
FormatExit
ExampleExit

Function

InfoUsed to create a javascript function using the input text. This enables custom logic to be used in the script. <function> is explained below.
FormatFunction <function>
ExampleFunction 'return {total: {total} + 1}'

<function> is a javascript function body. For reference, please see this documentation.

If the function returns an object, each property of the Object is usable as a parameter in the rest of the trigger.

  • If a continue parameter is returned and the value is false, the trigger will exit and not continue processing actions.

  • If an actions array parameter is returned, each item of the array will be inserted into the event and processed.

Example Usage
The below returns a random element from an array in api_data.
Function 'var arr = [api_data]; return {random: arr[Math.floor(Math.random() * arr.length)]}'

Note: As of Kruiz Control v2.0.6, multi-line inputs are now supported.

The above example can be rewritten as the multi-line function below.

OnInit
Function "
  var arr = [api_data];
  return {
    random: arr[Math.floor(Math.random() * arr.length)]
  };
"

Globals

Use this to determine all global variables in Kruiz Control.

InfoUsed to create a list of all current global variable names. <name> is the name of the List to create.
FormatGlobals <name>
ExampleGlobals MyGlobals
Example Usage
Sends all global variable names chat
OnInit
Globals MyGlobals
List Count MyGlobals
Loop 2 {count}
List Remove MyGlobals
Chat Send {value}
Sends all global variable names and values to an example API
OnInit
Globals MyGlobals
List Count MyGlobals
Loop 7 {count}
List Remove MyGlobals
Variable Global Load {value}
API Method GlobalVariable Post
API Url GlobalVariable "http://localhost/api/variable"
API Data GlobalVariable name {value}
API Data GlobalVariable value [{value}]
API Send GlobalVariable

If

The If action lets you exit out of a trigger if a specific criteria isn't met by comparing two values.

The following <comparator> values are valid: =, <, >, <=, >=, != (not equal).

Multiple comparisons can be combined in one If line using the following <conjunction> values: and, or.

The <optional_skip_or_label> value is completely optional and allows for advanced logic handling. This input allows you to either:

  • Specify the number of lines to Skip if the criteria is not met. When skipping lines, multi-line inputs are considered one line and comments are not considered.

  • Jump to the specified Label if the criteria is not met. When providing a label, the label must not be numeric (i.e. it must return NaN when passed to parseInt).

InfoUsed to determine whether or not the trigger should complete the rest of the actions.
FormatIf <optional_skip_or_label> <value_a> <comparator> <value_b> <conjunction> <value_c> <comparator> <value_d> ...
Example (single comparison)If {amount} >= 100
Example (single comparison with skip value)If 3 {amount} >= 100
Example (two comparisons)If {amount} >= 100 and {amount} < 1000
Example (two comparisons with label value)If NextAmount {amount} >= 100 and {amount} < 1000
Example (multiple comparisons)If {amount} >= 100 and {amount} < 1000 and {amount} != 123
Example (multiple comparisons with skip value)If 6 {amount} >= 100 and {amount} < 1000 and {amount} != 123

Ignore

InfoUsed to run an action without updating the number of actions in an event. This is used internally by Kruiz Control to add actions to an event without messing up Loop or If actions that track the number of actions. <action> is the full action that you want to complete. The action can be provided as a single argument (inside of quotes) or written out normally.
FormatIgnore <action>
ExampleIgnore Chat Send "Hello world"
Example w/ Single ArgumentIgnore "Chat Send 'Hello world'"

Jump

InfoUsed to skip (or jump) to the specified Label. <label> is the name of the Label to jump to. This can be used to skip functionality without having to count lines.
FormatJump <label>
ExampleJump MyCustomLabel

Label

InfoUsed to mark (or label) a line in an event so that it can be skipped to with a Jump action or If condition failure. <label> is the name to give to the label.
FormatLabel <label>
ExampleLabel MyCustomLabel

Log

InfoUsed to console.log log a message for use in debugging or testing. Logs do not show in the OBS log file but Error logs do.
FormatLog <message>
ExampleLog "Is this called?"

Loop

InfoUsed to repeat a set of actions a specified number of times. <lines> is the number of actions/lines to repeat. When counting lines, multi-line inputs are considered one line and comments are not considered. <times> is the number of times to repeat the actions/lines.
FormatLoop <lines> <times>
ExampleLoop 8 10
Parameters
loopThe loop iteration, starting at 1.
loop_iThe loop index, starting at 0.

Play

InfoUsed to play a sound effect inside of the sounds folder. <volume> is a number greater than 0 and can be greater than 100. <wait/nowait> determines whether or not the script waits until the song is done playing before completing the next action.
FormatPlay <volume> <wait/nowait> <song_file>
ExamplePlay 30 wait MashiahMusic__Kygo-Style-Melody.wav

Play Stop

InfoUsed to stop all sounds that are currently playing in Kruiz Control with Play.
FormatPlay Stop
ExamplePlay Stop

Reset

InfoUsed to reload Kruiz Control and read in the most recent trigger information.
FormatReset
ExampleReset

Skip

InfoUsed to skip over the next <number> of lines in an event. When skipping lines, multi-line inputs are considered one line and comments are not considered.
FormatSkip <number>
ExampleSkip 3

MQTT

Enables the ability to publish messages to and receive messages from an MQTT broker.

MQTT Triggers

OnMQTT

InfoUsed to trigger a set of actions when a message is reveived on a topic.
FormatOnMQTT <topic>
ExampleOnMQTT "kc/example"
Parameters
topicThe topic the message was received from.
messageThe content of the message.

MQTT Actions

MQTT Publish

InfoUsed to publish a message to an MQTT broker. <topic> is the topic to publish to. <message> is the message to send.
FormatMQTT Publish <topic> <message>
ExampleMQTT Publish "kc/notification" "New follower !"

OBS

Enables the ability to interact with and respond to OBS.

OBS Triggers

OnOBSCustomMessage

InfoUsed to trigger a set of actions when a custom message is sent. Used to receive triggers from OBS Send. Using * as the <message> will execute the trigger for all messages.
FormatOnOBSCustomMessage <message>
Format w/ AliasesOnOBSCustomMessage <message1> <message2> ...
ExampleOnOBSCustomMessage "My Custom Message"
Example w/ AliasesOnOBSCustomMessage "WidgetConnection" "WidgetError"
Parameters
messageThe name of the custom message.
dataThe data included with the message (or an empty string).

OnOBSRecordingPaused

InfoUsed to trigger a set of actions when a recording is paused.
FormatOnOBSRecordingPaused
ExampleOnOBSRecordingPaused

OnOBSRecordingResumed

InfoUsed to trigger a set of actions when a recording resumes after being paused.
FormatOnOBSRecordingResumed
ExampleOnOBSRecordingResumed

OnOBSRecordingStarted

InfoUsed to trigger a set of actions when a recording is started.
FormatOnOBSRecordingStarted
ExampleOnOBSRecordingStarted

OnOBSRecordingStopped

InfoUsed to trigger a set of actions when a recording is stopped.
FormatOnOBSRecordingStopped
ExampleOnOBSRecordingStopped

OnOBSSourceFilterVisibility

InfoUsed to trigger a set of actions when a source filter's visibility is changed.
FormatOnOBSSourceFilterVisibility <source> <filter> <on/off/toggle>
ExampleOnOBSSourceFilterVisibility Webcam Rainbow on
Parameters
visibleThe current visibility setting.

OnOBSSourceVisibility

InfoUsed to trigger a set of actions when a source's visibility is changed. Using * as the <source> will execute the trigger for all source visibility changes within a scene.
FormatOnOBSSourceVisibility <scene> <source> <on/off/toggle>
ExampleOnOBSSourceVisibility Webcam Camera off
Parameters
sourceThe name of the source that changed visibility.
visibleThe current visibility setting.

OnOBSStreamStarted

InfoUsed to trigger a set of actions when the stream starts.
FormatOnOBSStreamStarted
ExampleOnOBSStreamStarted

OnOBSStreamStopped

InfoUsed to trigger a set of actions when the stream stops.
FormatOnOBSStreamStopped
ExampleOnOBSStreamStopped

OnOBSSwitchScenes

InfoUsed to trigger a set of actions when the scene changes in OBS. This is fired once the new scene is loaded. Using * as the <scene> will execute the trigger for all scenes.
FormatOnOBSSwitchScenes <scene>
Format w/ AliasesOnOBSSwitchScenes <scene1> <scene2> ...
ExampleOnOBSSwitchScenes "BRB"
Example w/ AliasesOnOBSSwitchScenes "BRB" "Intermission"
Parameters
sceneThe scene switched to.

OnOBSTransitionTo

InfoUsed to trigger a set of actions when a transition to a scene starts. Allows triggers to occur prior to a scene switch. Using * as the <scene> will execute the trigger for all scenes.
FormatOnOBSTransitionTo <scene>
Format w/ AliasesOnOBSTransitionTo <scene1> <scene2> ...
ExampleOnOBSTransitionTo "BRB"
Example w/ AliasesOnOBSTransitionTo "BRB" "Intermission"
Parameters
fromThe scene being switched from.
sceneThe scene being switched to.

OBS Actions

OBS AddSceneItem

InfoUsed to add an existing source to the specified scene. <scene> is the scene to add the source. <source> is the name of the source to add to the scene. <on/off> (default: on) is an optional visibility that determines if the source is visible when it's added.
FormatOBS AddSceneItem <scene> <source> <on/off>
ExampleOBS AddSceneItem BRB Webcam off

OBS CreateSource

InfoUsed to create a new source in the specified scene. <scene> is the scene to create the source. <type> is the source type to create. The types of sources are available using OBS GetSourceTypes. <source> is the name of the source to create. <on/off> (default: on) is an optional visibility that determines if the source is visible when it's added.
FormatOBS CreateSource <scene> <type> <source> <on/off>
ExampleOBS CreateSource BeeScene image_source Bee on

Note: OBS source types look like image_source or text_gdiplus_v3, and don't always correspond perfectly to the name you see in OBS, so you should use OBS GetSourceTypes to see the list of type names.

Parameters
source_nameThe name of the created source.
uuidThe UUID of the created scene item
idThe numeric ID of the scene item in the scene

OBS Crop

InfoUsed to set the cropping on a source. <scene> is the scene containing the source, <source> is the source to crop, <top>, <left>, <bottom>, and <right> specify the number of pixels to crop from each side of the source.
FormatOBS Crop <scene> <source> <top> <left> <bottom> <right>
ExampleOBS Crop BeeScene Bee 10 16 10 32
Parameters
init_topThe initial value of the top crop before cropping the source.
init_leftThe initial value of the left crop before cropping the source.
init_bottomThe initial value of the bottom crop before cropping the source.
init_rightThe initial value of the right crop before cropping the source.

OBS CurrentScene

InfoUsed to get the current scene in OBS.
FormatOBS CurrentScene
ExampleOBS CurrentScene
Parameters
current_sceneThe name of the active scene.

OBS DuplicateSource

InfoUsed to duplicate a source as a reference in OBS. <scene> is the scene the source is in. <source> is the name of the source to duplicate. <dest> (default: <scene>) is an optional scene name that determines the scene the duplicate is placed in.
FormatOBS DuplicateSource <scene> <source> <dest>
ExampleOBS DuplicateSource BeeScene Bee OtherScene

Note: OBS DuplicateSource does not support duplicating sources within groups (folders).


OBS Flip

InfoUsed to flip a source in OBS.
FormatOBS Flip <scene> <source> <x/y>
ExampleOBS Flip Webcam Camera x

OBS GetCrop

InfoGets the crop for a source in a given scene in OBS. <scene> is the scene the source is in. <source> is the source to get the crop for. Note that the same source can have different crops in different scenes.
FormatOBS GetCrop <scene> <source>
ExampleOBS GetCrop Webcam Camera
Parameters
topThe number of pixels cropped from the top of the source
leftThe number of pixels cropped from the left side of the source
bottomThe number of pixels cropped from the bottom of the source
rightThe number of pixels cropped from the right side of the source

OBS GetPosition

InfoGets the position for a source in a given scene in OBS. <scene> is the scene the source is in. <source> is the source to get the position for. Note that the same source can have different positions in different scenes.
FormatOBS GetPosition <scene> <source>
ExampleOBS GetPosition Webcam Camera
Parameters
xThe x position of the source
yThe y position of the source

OBS GetSize

InfoGets the size for a source in a given scene in OBS. <scene> is the scene the source is in. <source> is the source to get the size for.
FormatOBS GetSize <scene> <source>
ExampleOBS GetSize Webcam Camera
Parameters
widthThe width of the source
heightThe height of the source

OBS GetSourceTypes

InfoGets the source types available in OBS. Different source types may be available depending on what plugins you have installed.
FormatOBS GetSourceTypes
ExampleOBS GetSourceTypes
Parameters
source_type#The source types returned by OBS. Replace # with a number, starting at 1 and ending at source_type_count.
source_type_countThe number of source types retrieved.
dataThe complete response from the OBS websocket.

OBS Image

InfoUsed to set the file path of an image source. <source> is the name of the source. <path> is the absolute path to the file.
FormatOBS Image <source> <path>
ExampleOBS Image RecordingDot "C:/Users/YOUR_USER_NAME/Stream/recording.png"

OBS IsSceneSourceVisible

InfoUsed to check if the specified source is turned on within the given scene in OBS.
FormatOBS IsSceneSourceVisible <scene> <source>
ExampleOBS IsSceneSourceVisible Alerts TwitchAlerts
Parameters
is_visible[true/false] true if the source is visible. Otherwise, false.

OBS IsSourceActive

InfoUsed to check if the specified source is active in the current scene. A source is active if it could be rendered in the current scene, regardless of visibility status.
FormatOBS IsSourceActive <source>
ExampleOBS IsSourceActive TwitchAlerts
Parameters
is_active[true/false] true if the source is active. Otherwise, false.

OBS Media Duration

InfoUsed to retrieve the duration of a media source. <source> is the name of the source. The <source> must be active to retrieve the duration.
FormatOBS Media Duration <source>
ExampleOBS Media Duration AlertVideo
Parameters
durationThe duration of the file in seconds. If the duration could not be retrieved, 0 is returned.

OBS Media Path

InfoUsed to set the file path of a media source. <source> is the name of the source. <path> is the absolute path to the file.
FormatOBS Media Path <source> <path>
ExampleOBS Media Path AlertVideo "C:/Users/YOUR_USER_NAME/Stream/alert.webm"

OBS Media Pause

InfoUsed to pause a media source. <source> is the name of the source.
FormatOBS Media Pause <source>
ExampleOBS Media Pause AlertVideo

OBS Media Play

InfoUsed to play a media source. <source> is the name of the source.
FormatOBS Media Play <source>
ExampleOBS Media Play AlertVideo

OBS Media Restart

InfoUsed to restart a media source. <source> is the name of the source.
FormatOBS Media Restart <source>
ExampleOBS Media Restart AlertVideo

OBS Media Stop

InfoUsed to stop a media source. <source> is the name of the source.
FormatOBS Media Stop <source>
ExampleOBS Media Stop AlertVideo

OBS Mute

InfoUsed to mute or unmute the specified audio source in OBS. Using toggle alternates the mute setting.
FormatOBS Mute <source> <on/off/toggle>
ExampleOBS Mute Mic/Aux on

OBS Order

InfoUse this to move an OBS source up or down with the scene's source list. <up/down> is the direction to move the source.
FormatOBS Order <scene> <source> <up/down>
ExampleOBS Order BRB Webcam up

OBS PauseRecording

InfoUsed to pause an in-progress recording. Use OBS ResumeRecording to start the recording again.
FormatOBS PauseRecording
ExampleOBS PauseRecording

OBS Position

InfoUse this to move an OBS source to the specified <x> and <y> coordinate.
FormatOBS Position <scene> <source> <x> <y>
ExampleOBS Position BRB Webcam 240 600
Parameters
init_xThe initial value of the x coordinate before moving the source.
init_yThe initial value of the y coordinate before moving the source.

OBS RecordingStatus

InfoUse this to get the status of the current recording.
FormatOBS RecordingStatus
ExampleOBS RecordingStatus
Parameters
is_active[true/false] Whether OBS is recording.
is_paused[true/false] Whether OBS has paused the recording.
recording_durationThe duration of the file in seconds. Defaults to 0 if no recording found.
recording_sizeThe number of bytes in the recording. May contain the size of the previous recording if not currently recording.
dataThe complete response from the OBS GetRecordStatus call.

OBS Refresh

InfoUsed to refresh a browser source in OBS.
FormatOBS Refresh <source>
ExampleOBS Refresh "Kruiz Control"

OBS RemoveSource

InfoUsed to remove an instance of a source from a scene in OBS. <scene> is the scene the source is in. <source> is the name of the source to remove. Note that if this is the last instance of <source> anywhere in the scene collection, OBS will delete the source. If multiple sources exist in a scene with the given name, the source created first should be deleted.
FormatOBS RemoveSource <scene> <source>
ExampleOBS RemoveSource BeeScene Bee

Note: OBS RemoveSource does not support removing sources within groups (folders).


OBS ResumeRecording

InfoUsed to resume a paused recording (see OBS PauseRecording).
FormatOBS ResumeRecording
ExampleOBS ResumeRecording

OBS Rotate

InfoUsed to rotate a source in SLOBS. <degree> is any number (decimals allowed). This resets the base rotation to 0 before applying the rotation.
FormatSLOBS Rotate <scene> <source> <degree>
ExampleSLOBS Rotate Webcam Camera 90

Note: If you want the source to spin in place, right-click the source and select Transform > Edit Transform. Change the Positional Alignment to Center.


OBS SaveReplayBuffer

InfoUsed to save the current replay buffer.
FormatOBS SaveReplayBuffer
ExampleOBS SaveReplayBuffer

OBS Scene

InfoUsed to change the scene in OBS.
FormatOBS Scene <scene>
ExampleOBS Scene Ending
Parameters
previous_sceneThe name of the active scene before changing to the specified scene. This allows users to revert scenes from anywhere.

OBS SceneSource

InfoUsed to toggle the visibility of a source in a specific scene in OBS. Using toggle switches the visibility.
FormatOBS SceneSource <scene> <source> <on/off/toggle>
ExampleOBS SceneSource Webcam Camera on

OBS Send

InfoUsed to send a custom event to through the OBS websocket. <message> is the identifier of the message. (Optional) <data> is anything to send with the message.
FormatOBS Send <message> <data>
ExampleOBS Send PlayShikaka
Example (with data)OBS Send PlayAudio Shikaka

Note: Messages are echo'd to all websocket-connected clients. This is useful for connecting other browser sources or triggering other triggers.


OBS Size

InfoUse this to resize an OBS source to the specified <width> and <height> values.
FormatOBS Size <scene> <source> <width> <height>
ExampleOBS Size BRB Webcam 1920 1080

Note: OBS Position is not recommended for repositioning sources within groups. Sources in a group are positioned relative to the group, not the scene. Repositioning a source within a group may cause the size of the group to change, changing the source's relative position, and leading to unexpected results.

Parameters
init_widthThe initial width value before resizing the source.
init_heightThe initial height value before resizing the source.

OBS Source

InfoUsed to toggle the visibility of a source in OBS. Only works if the source is in the current scene. Using toggle switches the visibility.
FormatOBS Source <source> <on/off/toggle>
ExampleOBS Source Webcam off

Note: The source must be in the current/active scene for this to trigger.


OBS Source Filter

InfoUsed to toggle the visibility of a source filter in OBS.
FormatOBS Source <source> Filter <filter> <on/off/toggle>
ExampleOBS Source Webcam Filter Rainbow on

Note: The source does not need to be in current/active scene for this to trigger.


OBS Source Text

InfoUsed to change the text of a text source in OBS.
FormatOBS Source <source> Text <text>
ExampleOBS Source RecentFollow Text {user}

Note: The text source does not need to be in current/active scene for this to trigger.


OBS Source URL

InfoUsed to change the URL of a browser source in OBS. This does not work when the source has Local file selected in OBS. <url> can be a path to a local file.
FormatOBS Source <source> URL <url>
ExampleOBS Source "Browser" URL "https://github.com/Kruiser8/Kruiz-Control"

Note: The browser source does not need to be in current/active scene for this to trigger.


OBS StartRecording

InfoUsed to start the recording.
FormatOBS StartRecording
ExampleOBS StartRecording

OBS StartReplayBuffer

InfoUsed to start the replay buffer.
FormatOBS StartReplayBuffer
ExampleOBS StartReplayBuffer

OBS StartStream

InfoUsed to start the stream in OBS. If the stream is already live, nothing will happen.
FormatOBS StartStream
ExampleOBS StartStream

OBS Stats

InfoUsed to retrieve OBS statistics.
FormatOBS Stats
ExampleOBS Stats
Parameters
cpuPercent CPU in use by OBS.
memoryAmount of memory in MB currently being used by OBS.
disk_spaceAvailable disk space on the device being used for recording storage.
fpsCurrent FPS being rendered.
average_render_timeAverage time in milliseconds that OBS is taking to render a frame.
render_skipped_framesNumber of rendered frames skipped by OBS (render frames are frames produced even when not recording or streaming).
output_skipped_framesNumber of output frames skipped by OBS (the frames being recorded or streamed).
dataThe entire OBS Websocket GetStats output.
Example Usage
Sends OBS statistics to chat
OnInit
OBS Stats
Error "OBS is using {cpu}% CPU and {memory}MB RAM."
Error "OBS is rendering {fps} FPS, skipping {render_skipped_frames} frames total ({output_skipped_frames} skipped during output). Each frames takes an average of {average_render_time}ms to render."

OBS StopRecording

InfoUsed to stop the recording.
FormatOBS StopRecording
ExampleOBS StopRecording

OBS StopReplayBuffer

InfoUsed to stop the replay buffer.
FormatOBS StopReplayBuffer
ExampleOBS StopReplayBuffer

OBS StopStream

InfoUsed to stop the stream in OBS. If the stream is already stopped, nothing will happen.
FormatOBS StopStream
ExampleOBS StopStream

OBS StreamStatus

InfoUsed to retrieve OBS statistics.
FormatOBS StreamStatus
ExampleOBS StreamStatus
Parameters
is_active[true/false] Whether or not the stream is active.
is_reconnecting[true/false] Whether or not the stream is currently reconnecting.
output_skipped_framesNumber of output frames skipped by OBS (the frames being streamed).
output_total_framesTotal number of frames delivered by the stream.
dataThe entire OBS Websocket getStreamStatus output.

OBS TakeSourceScreenshot

InfoUsed to take a screenshot of an OBS source and save it to a file. <file> is the absolute path to a file. The extension put on the file is used to determine the type of file generate. For most users, these are the acceptable extensions: bmp, jpeg, jpg, pbm, pgm, png, ppm, xbm, xpm.
FormatOBS TakeSourceScreenshot <source> <file>
ExampleOBS TakeSourceScreenshot Webcam "C:\Users\YOUR_USER_NAME\Documents\Stream\screenshot.png"

OBS Transition

InfoUsed to change the scene transition. <transition> is the name of the scene transition that you want active.
FormatOBS Transition <transition>
ExampleOBS Transition Fade
Parameters
previous_transitionThe name of the transition prior to changing it.

OBS Version

InfoUsed to retrieve the version of the OBS Websocket. This is helpful when debugging newer features.
FormatOBS Version
ExampleOBS Version
Parameters
versionThe version of the websocket. If OBS is not connected, Disconnected will be returned.

OBS Volume

InfoUsed to change the volume of an audio source. <useDecibel> is an optional true/false value (defaults to false) to specify whether <volume> should be interpreted as decibels/dB (true) or amplitude/mul (false). If using decibels/dB, <volume> must be a number less than or equal to 0.0; note that OBS will interpret dB values below -100.0 as -Inf. If using amplitude/mul, <volume> must be a number between 0.0 and 1.0; note that the amplitude/mul value is NOT a percentage, please test for the expected result before usage.
FormatOBS Volume <source> <volume> <useDecibel>
ExampleOBS Volume "Desktop Audio" 0.2
Example (using decibels/dB)OBS Volume "Desktop Audio" -3.6 true
Parameters
previous_volumeThe volume of the source before changing. This allows users to revert the volume to the prior level. The value will be returned as decibels/dB if <useDecibel> was true, and as amplitude/mul otherwise.

Param

Adds the ability to easily manipulate parameters through actions.

Param Triggers

None at the moment.


Param Actions

Param Add

InfoAdds the given amount to an existing parameter. <parameter> is the name of the existing parameter. <number> is the value to add.
FormatParam Add <parameter> <number>
ExampleParam Add counter 1
Parameters
<parameter>The lowercased parameter value where <parameter> is the name of the parameter.

Param Contains

InfoChecks if the specified text exists within a parameter. <parameter> is the name of the existing parameter. <value> is the value to look for in the parameter. Param Contains differs from Param Keyword as it is case sensitive and does not require whitespace around the searched text
FormatParam Contains <parameter> <value>
ExampleParam Contains after "app"
Parameters
contains[true/false] Whether or not the value was found in the parameter.

Param Copy

InfoCopy the given parameter into a new parameter. <parameter> is the name of the existing parameter. <new> is the name of the destination parameter to copy the value.
FormatParam Copy <parameter> <new>
ExampleParam Copy api_data image
Parameters
<new>The new parameter value where <new> is the name of the parameter.

Param Create

InfoCreate a new parameter. <parameter> is the name of the new parameter to create. <value> is the initial value for the parameter.
FormatParam Create <parameter> <value>
ExampleParam Create Counter 0
Parameters
<parameter>The new parameter value where <parameter> is the name of the parameter.

Param Divide

InfoDivides an existing parameter by the given amount. <parameter> is the name of the existing parameter. <number> is the value to divide by.
FormatParam Divide <parameter> <number>
ExampleParam Divide Total 100
Parameters
<parameter>The lowercased parameter value where <parameter> is the name of the parameter.

Param Exists

InfoUse this to check if a given parameter exists. <parameter> is the name of the parameter to check.
FormatParam Exists <parameter>
ExampleParam Exists after
Parameters
exists[true/false] Whether or not the parameter has a value.

Param Keyword

InfoChecks if the specified keyword(s) exist(s) within a parameter. <parameter> is the name of the existing parameter. <keyword> is the value to look for in the parameter. More than one keyword can be supplied.
FormatParam Keyword <parameter> <keyword>
Format w/ Multiple KeywordsParam Keyword <parameter> <keyword_1> <keyword_2> <keyword_3>
ExampleParam Keyword after "apple"
Example w/ Multiple KeywordsParam Keyword after "apple" "banana" "cookie" "duck"
Parameters
matched[true/false] Whether or not the keyword was found in the parameter.
matchIf matched, match will have the first keyword found in the parameter.
keywordsIf matched, keywords will have the list of all keywords found in the parameter.

Param Lower

InfoLowercase the value within a parameter. <parameter> is the name of the existing parameter.
FormatParam Lower <parameter>
ExampleParam Lower user
Parameters
<parameter>The lowercased parameter value where <parameter> is the name of the parameter.

Param Multiply

InfoMultiplies an existing parameter by the given amount. <parameter> is the name of the existing parameter. <number> is the value to multiply by.
FormatParam Multiply <parameter> <number>
ExampleParam Multiply Time 1000
Parameters
<parameter>The lowercased parameter value where <parameter> is the name of the parameter.

Param Negate

InfoNegates the value within the parameter. The parameter value is converted into a string and lowercased. "false", "0", "no", and "" are interpreted as false. Everything else is interpreted as true. <parameter> is the name of the existing parameter.
FormatParam Negate <parameter>
ExampleParam Negate MyToggle
Parameters
<parameter>The negated parameter value where <parameter> is the name of the parameter.

Param Proper

InfoProper case the value within a parameter. Proper case is where the first letter of every word is capitalized. <parameter> is the name of the existing parameter.
FormatParam Proper <parameter>
ExampleParam Proper user
Parameters
<parameter>The proper case parameter value where <parameter> is the name of the parameter.

Param Replace

InfoReplace a substring in a parameter with the specified text. Note that this replaces all occurrences inside of the parameter. <parameter> is the name of the existing parameter. <to_replace> is the value to be replaced. <replacement> is the value to overwrite the <to_replace> value.
FormatParam Replace <parameter> <to_replace> <replacement>
ExampleParam Replace after @ ''
Parameters
<parameter>The new parameter value where <parameter> is the name of the parameter.

Param Round

InfoRound the existing parameter to the specified number of decimal places. <parameter> is the name of the existing parameter. <number> is the number of decimal places to round. Trailing 0s are kept, so 1.5 rounded to 2 decimal places will be 1.50.
FormatParam Round <parameter> <number>
ExampleParam Round Percentage 2
Parameters
<name>The updated parameter value where <name> is the name of the parameter.

Param Subtract

InfoSubtracts the given amount to an existing parameter. <parameter> is the name of the existing parameter. <number> is the value to subtract.
FormatParam Subtract <parameter> <number>
ExampleParam Subtract counter 1
Parameters
<name>The updated parameter value where <name> is the name of the parameter.

Param Upper

InfoUppercase the value within a parameter. <parameter> is the name of the existing parameter.
FormatParam Upper <parameter>
ExampleParam Upper user
Parameters
<parameter>The uppercased parameter value where <parameter> is the name of the parameter.

Random

Adds the ability to randomly choose between multiple actions.

Random Triggers

None at the moment.


Random Actions

Random Equal

InfoRandomly selects an action. Note that "Equal" is optional.
FormatRandom Equal <action> <action> ...
ExampleRandom Equal "chat send 'hello world'" "chat send 'did you know tarantulas molt?'"
Example without "Equal"Random "chat send 'a'" "chat send 'b'" "chat send 'c'"

Random Number

InfoRandomly generates an integer between a min and max value ([min, max]). If no input is specified, 0 is used as the min and 100 is used as the max.
FormatRandom Number <optional_min> <optional_max>
ExampleRandom Number 30 75
Example without valuesRandom Number
Example with min onlyRandom Number 20
Parameters
numberThe number produced by the random generation.

Random Probability

InfoRandomly selects an action based on the input probabilities. The <number> values are scaled to 100 to provide a normalized probability.
FormatRandom Probability <action> <number> <action> <number> ...
ExampleRandom Probability "chat send 'hello world'" 3 "chat send 'did you know tarantulas molt?'" 1

SLOBS

Enables the ability to interact with and respond to SLOBS.

SLOBS Triggers

OnSLOBSStreamStarted

InfoUsed to trigger a set of actions when the stream starts.
FormatOnSLOBSStreamStarted
ExampleOnSLOBSStreamStarted

OnSLOBSStreamStopped

InfoUsed to trigger a set of actions when the stream stops.
FormatOnSLOBSStreamStopped
ExampleOnSLOBSStreamStopped

OnSLOBSSwitchScenes

InfoUsed to trigger a set of actions when the scene changes in SLOBS. Using * as the <scene> will execute the trigger for all scenes.
FormatOnSLOBSSwitchScenes <scene>
Format w/ AliasesOnSLOBSSwitchScenes <scene1> <scene2> ...
ExampleOnSLOBSSwitchScenes "BRB"
Example w/ AliasesOnSLOBSSwitchScenes "BRB" "Intermission"
Parameters
sceneThe scene switched to.

SLOBS Actions

SLOBS CurrentScene

InfoUsed to get the current active scene in SLOBS.
FormatSLOBS CurrentScene
ExampleSLOBS CurrentScene
Parameters
current_sceneThe name of the active scene.

SLOBS Flip

InfoUsed to flip a source in SLOBS.
FormatSLOBS Flip <scene> <source> <x/y>
ExampleSLOBS Flip Webcam Camera x

SLOBS IsSceneSourceVisible

InfoUsed to check if the specified source is turned on within the given scene in SLOBS.
FormatSLOBS IsSceneSourceVisible <scene> <source>
ExampleSLOBS IsSceneSourceVisible Alerts TwitchAlerts
Parameters
is_visible[true/false] true if the source is visible. Otherwise, false.

SLOBS Mute

InfoUsed to mute or unmute a source in SLOBS.
FormatSLOBS Mute <source> <on/off/toggle>
ExampleSLOBS Mute Mic/Aux toggle

SLOBS Notification

InfoUsed to add a notice to the SLOBS notification window. This is the (i) icon in the bottom left of SLOBS.
FormatSLOBS Notification <message>
ExampleSLOBS Notification "Pay attention to me!"

SLOBS Position

InfoUsed to move a source in SLOBS to the given x and y location.
FormatSLOBS Position <scene> <source> <x> <y>
ExampleSLOBS Position Alerts SLAlerts 100 350

SLOBS Rotate

InfoUsed to rotate a source in SLOBS. <degree> is any number (decimals allowed). This resets the base rotation to 0 before applying the rotation.
FormatSLOBS Rotate <scene> <source> <degree>
ExampleSLOBS Rotate Webcam Camera 90

SLOBS SaveReplayBuffer

InfoUsed to save the current replay buffer.
FormatSLOBS SaveReplayBuffer
ExampleSLOBS SaveReplayBuffer

SLOBS Scene

InfoUsed to change the scene in SLOBS.
FormatSLOBS Scene <scene>
ExampleSLOBS Scene Ending
Parameters
previous_sceneThe name of the active scene before changing to the specified scene. This allows users to revert scenes from anywhere.

SLOBS SceneFolder

InfoUsed to toggle the visibility of a folder (and all nested sources) in a specific scene in SLOBS.
FormatSLOBS SceneFolder <scene> <folder> <on/off>
ExampleSLOBS SceneFolder Videos Reaction on

SLOBS SceneSource

InfoUsed to toggle the visibility of a source in a specific scene in SLOBS.
FormatSLOBS SceneSource <scene> <source> <on/off>
ExampleSLOBS SceneSource Webcam Camera on

SLOBS Source

InfoUsed to toggle the visibility of a source in SLOBS. Defaults to the current scene.
FormatSLOBS Source <source> <on/off>
ExampleSLOBS Source Webcam off

SLOBS StartReplayBuffer

InfoUsed to start the replay buffer.
FormatSLOBS StartReplayBuffer
ExampleSLOBS StartReplayBuffer

SLOBS StopReplayBuffer

InfoUsed to stop the current replay buffer.
FormatSLOBS StopReplayBuffer
ExampleSLOBS StopReplayBuffer

SLOBS ToggleStream

InfoUsed to go live within SLOBSs or stop the given stream. Note, there's no way to specify if you're toggling the stream on or off.
FormatSLOBS ToggleStream
ExampleSLOBS ToggleStream

SLOBS Volume

InfoUsed to change the volume of an audio source. <source> is the name of the audio source in the mixer. <volume> is a number between 0 and 1.0. Unlike OBS Volume, the SLOBS <volume> value indicates a percentage.
FormatSLOBS Volume <source> <volume>
ExampleSLOBS Volume "Desktop Audio" 0.2
Parameters
previous_volumeThe volume of the source before changing. This allows users to revert the volume to the prior level.

StreamElements

Enables the ability to trigger actions based on StreamElement alerts. Note that actions are triggered as soon as the alert is triggered. This may not line up with the alert widget.

StreamElements Triggers

OnSETwitchBits

InfoUsed to trigger actions when someone cheers bits.
FormatOnSETwitchBits
ExampleOnSETwitchBits
Parameters
userThe user that cheered.
amountThe amount of the bits. Use this in comparisons.
messageThe message included with the bits.
dataThe complete json event (for use with Function).

OnSEDonation

InfoUsed to trigger actions when someone donates through StreamElements.
FormatOnSEDonation
ExampleOnSEDonation
Parameters
userThe user that donated.
amountThe numeric amount of the donation with no currency symbol.
messageThe message included with the donation.
dataThe complete json message (for use with Function).

OnSETwitchFollow

InfoUsed to trigger actions when someone follows the channel.
FormatOnSETwitchFollow
ExampleOnSETwitchFollow
Parameters
userThe user that followed.
dataThe complete json message (for use with Function).

OnSETwitchGiftSub

InfoUsed to trigger actions when someone gifts a single subscription.
FormatOnSETwitchGiftSub
ExampleOnSETwitchGiftSub
Parameters
userThe user that was gifted a subscription.
gifterThe user that gifted the subscription.
tierThe tier of the subscription. Possible values are Tier 1, Tier 2, Tier 3, and Prime.
dataThe complete json message (for use with Function).

Note: months is not included since streamelements does not include it for gift subs (or I just could not find it).


OnSETwitchHost

InfoUsed to trigger actions when someone hosts the channel.
FormatOnSETwitchHost
ExampleOnSETwitchHost
Parameters
userThe user that hosted.
viewersThe number of viewers in the host.
dataThe complete json message (for use with Function).

OnSETwitchRaid

InfoUsed to trigger actions when someone raids the channel.
FormatOnSETwitchRaid
ExampleOnSETwitchRaid
Parameters
userThe user that raided.
raidersThe number of raiders in the raid.
dataThe complete json message (for use with Function).

OnSETwitchSub

InfoUsed to trigger actions when someone subscribes to the channel.
FormatOnSETwitchSub
ExampleOnSETwitchSub
Parameters
userThe user that subscribed.
monthsThe number of months the user is subscribed.
messageThe message included with the subscription.
tierThe tier of the subscription. Possible values are Tier 1, Tier 2, Tier 3, and Prime.
dataThe complete json message (for use with Function).

StreamElements Actions

None at the moment.


Streamlabs

Enables the ability to trigger actions based on Streamlabs alerts.

The default alert triggers require that your Streamlabs alert box is open. This allows Kruiz Control to synchronize with your alerts and trigger actions at the same time as the alerts.

Use the NoSync version of a trigger if:

  • You do not use the alert box for a specific alert type.
  • You want a trigger to run as soon as alerts come in.
  • You do not always have the alert box open but need the trigger to always run.

Streamlabs Triggers

OnSLTwitchBits | OnSLTwitchBitsNoSync

InfoUsed to trigger actions when someone cheers bits.
FormatOnSLTwitchBits
ExampleOnSLTwitchBits
Parameters
userThe user that cheered.
amountThe amount of the bits. Use this in comparisons.
messageThe message included with the bits.
dataThe complete json message (for use with Function).

OnSLDonation | OnSLDonationNoSync

InfoUsed to trigger actions when someone donates through Streamlabs.
FormatOnSLDonation
ExampleOnSLDonation
Parameters
userThe user that donated.
amountThe numeric amount of the donation. Use this in comparisons.
formattedThe formatted amount using the locale's currency format.
messageThe message included with the donation.
dataThe complete json message (for use with Function).

OnSLTiltifyDonation | OnSLTiltifyDonationNoSync

InfoUsed to trigger actions when someone triggers a tiltify donation through Streamlabs.
FormatOnSLTiltifyDonation
ExampleOnSLTiltifyDonation
Parameters
userThe user that donated.
amountThe numeric amount of the donation. Use this in comparisons.
formattedThe formatted amount using the locale's currency format.
messageThe message included with the donation.
dataThe complete json message (for use with Function).

OnSLPatreonPledge | OnSLPatreonPledgeNoSync

InfoUsed to trigger actions when someone pledges on Patreon through Streamlabs.
FormatOnSLPatreonPledge
ExampleOnSLPatreonPledge
Parameters
userThe user that donated.
amountThe numeric amount of the donation. Use this in comparisons.
formattedThe formatted amount using the locale's currency format.
dataThe complete json message (for use with Function).

OnSLTwitchFollow | OnSLTwitchFollowNoSync

InfoUsed to trigger actions when someone follows the channel.
FormatOnSLTwitchFollow
ExampleOnSLTwitchFollow
Parameters
userThe user that followed.
dataThe complete json message (for use with Function).

OnSLTwitchCommunityGiftSub | OnSLTwitchCommunityGiftSubNoSync

InfoUsed to trigger actions when someone gifts community subscriptions to the channel.
FormatOnSLTwitchCommunityGiftSub
ExampleOnSLTwitchCommunityGiftSub
Parameters
gifterThe user that gifted the subscription.
amountThe number of subscriptions gifted by the gifter.
tierThe tier of the subscription. Possible values are Tier 1, Tier 2, Tier 3, and Prime.
dataThe complete json message (for use with Function).

OnSLTwitchGiftSub | OnSLTwitchGiftSubNoSync

InfoUsed to trigger actions when someone gifts a subscription to the channel.
FormatOnSLTwitchGiftSub
ExampleOnSLTwitchGiftSub
Parameters
userThe user that was gifted a subscription.
gifterThe user that gifted the subscription.
monthsThe number of months the user is subscribed.
tierThe tier of the subscription. Possible values are Tier 1, Tier 2, Tier 3, and Prime.
dataThe complete json message (for use with Function).

OnSLTwitchHost | OnSLTwitchHostNoSync

InfoUsed to trigger actions when someone hosts the channel.
FormatOnSLTwitchHost
ExampleOnSLTwitchHost
Parameters
userThe user that hosted.
viewersThe number of viewers in the host.
dataThe complete json message (for use with Function).

OnSLTwitchRaid | OnSLTwitchRaidNoSync

InfoUsed to trigger actions when someone raids the channel.
FormatOnSLTwitchRaid
ExampleOnSLTwitchRaid
Parameters
userThe user that raided.
raidersThe number of raiders in the raid.
dataThe complete json message (for use with Function).

OnSLTwitchSub | OnSLTwitchSubNoSync

InfoUsed to trigger actions when someone subscribes to the channel.
FormatOnSLTwitchSub
ExampleOnSLTwitchSub
Parameters
userThe user that subscribed.
monthsThe number of months the user is subscribed.
messageThe message included with the subscription.
tierThe tier of the subscription. Possible values are Tier 1, Tier 2, Tier 3, and Prime.
dataThe complete json message (for use with Function).

Streamlabs Actions

None at the moment.


Text-To-Speech

Enables the ability to have input voiced with custom voices. This is powered by the text-to-speech (narration/speech) component on your computer.

Text-To-Speech Triggers

None at the moment.


Text-To-Speech Actions

TTS

InfoUsed to read a message with the specified voice. <voice> is the name of a voice from your computer's narration system. You can check the available voices by using TTS Voices. <volume>, <pitch>, and <rate> are all numbers between 0 and 100. If a non-numerical value is provided, the default is used. <wait/nowait> determines whether or not the script waits until the audio is done playing before completing the next action. <message> is the text to read in the audio.
FormatTTS <voice> <volume> <pitch> <rate> <wait/nowait> <message>
ExampleTTS "Microsoft David - English (United States)" 70 50 20 wait "Hey there!"
Example w/ Default Pitch & RateTTS "Microsoft David - English (United States)" 70 - - wait "Hey there!"

Note: For backwards compatibility, the <pitch> and <rate> inputs are optional, but they are both required if one of them is provided.


TTS Stop

InfoUsed to stop playing text-to-speech audio.
FormatTTS Stop
ExampleTTS Stop

TTS Voices

Use this to determine the available voices on your computer.

InfoUsed to create a list of all available voices for text-to-speech based on what is installed on your computer. <name> is the name of the List to create.
FormatTTS Voices <name>
ExampleTTS Voices MyVoices
Example Usage
Sends all voice options to chat
OnInit
TTS Voices MyVoices
List Count MyVoices
Loop 2 {count}
List Remove MyVoices
Chat Send {value}

Time

Enables the ability to interact with aspects of time (days, time, etc.).

Time Trigger

None at the moment.


Time Actions

Time AMPM

InfoUsed to check whether the current time is for AM or PM.
FormatTime AMPM
ExampleTime AMPM
Parameters
ampmAM or PM.

Time Date

InfoUsed to get the current date in the current locale's format.
FormatTime Date
ExampleTime Date
Parameters
dateThe current date in the current locale's format. For en-US, this is mm/dd/YYYY. For en-GB, this is dd/mm/YYYY.

Time Day

InfoUsed to get the numerical day of the current date.
FormatTime Day
ExampleTime Day
Parameters
dayThe numerical day of the current date. For June 10th, the value would be 10.

Time DayOfTheWeek

InfoUsed to get the name of the current day.
FormatTime DayOfTheWeek
ExampleTime DayOfTheWeek
Alternate FormatTime DOTW
Parameters
weekdayThe name of the current day, i.e. Wednesday.

Time Hour

InfoUsed to get the current hour in 24-hour time. <use24Hour> is an optional true/false value (defaults to false) to return the hhour in a 24-hour format.
FormatTime Hour <use24Hour>
ExampleTime Hour
Example w/ use24HourTime Hour true
Parameters
hourThe current hour from 1 to 12 or 0 to 23 if <use24Hour> is `true.

Time Minutes

InfoUsed to get the current minute.
FormatTime Minutes
ExampleTime Minutes
Parameters
minutesThe current minute from 0 to 59.

Time Month

InfoUsed to get the current minute.
FormatTime Month
ExampleTime Month
Parameters
monthThe name of the current month, i.e. June.

Time Seconds

InfoUsed to get the current seconds.
FormatTime Seconds
ExampleTime Seconds
Parameters
secondsThe current minute from 0 to 59.

Time Time

InfoUsed to get the current time.
FormatTime Time
ExampleTime Time
Parameters
timeThe current time, i.e. 1:15:30 PM.

Time Timestamp

InfoUsed to get the current date and time.
FormatTime Timestamp
ExampleTime Timestamp
Parameters
timestampThe current date and time, i.e. 6/10/2026, 11:22:30 PM.

Time Year

InfoUsed to get the current year.
FormatTime Year
ExampleTime Year
Parameters
yearThe current year.

Timer

Enables the ability to run actions on a time interval.

Timer Triggers

OnTimer

InfoUsed to trigger a set of actions every <interval> seconds after <offset> initial seconds. <offset> is optional.
FormatOnTimer <name> <interval> <offset>
ExampleOnTimer MyTimer 300 10

Timer Actions

Timer Reset

InfoUsed to reset a timer based on the <name>. This can be used to interrupt a timer and restart it.
FormatTimer Reset <name>
ExampleTimer Reset MyTimer

Timer Start

InfoUsed to start (or restart) a timer based on the <name>. This can be used to start a timer that has been stopped or restart a timer's current countdown.
FormatTimer Start <name>
ExampleTimer Start MyTimer

Timer Stop

InfoUsed to stop a timer based on the <name>. This can be used to interrupt a timer until it is reset or started.
FormatTimer Stop <name>
ExampleTimer Stop MyTimer

Twitch

Enables the ability to run actions when channel point rewards are redeemed.

Twitch Triggers

OnTWAd

InfoTriggers when a stream runs a midroll commercial break, either manually or automatically via ads manager..
FormatOnTWAd
ExampleOnTWAd
Parameters
durationThe duration of the advertisement in seconds.
is_automatic[true/false] true if the ad was run automatically. Otherwise, false..
dataThe complete Twitch EventSub event data (for use with Function).

OnTWBan

InfoTriggers when a viewer is banned from the channel.
FormatOnTWBan
ExampleOnTWBan
Parameters
idThe user id of the user who was banned.
loginThe user login of the user who was banned.
nameThe user display name of the user who was banned.
modThe user name of the issuer of the ban.
reasonThe reason given for the ban.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWBits

InfoTriggers when bits are used in the channel. Triggers for cheers, power-ups, and combos.
FormatOnTWBits
ExampleOnTWBits
Parameters
idThe user ID of the user using bits.
loginThe user login of the user using bits.
nameThe user display name of the user using bits.
dataThe complete Twitch EventSub event data (for use with Function).
amountThe amount of bits cheered by the user.
messageThe message included with the bits. This will be an empty string if no message is included.

OnTWChannelPoint

InfoUsed to trigger a set of actions when a channel point reward is redeemed. Using * as the <reward_name> will execute the trigger for all channel point rewards.
FormatOnTWChannelPoint <reward_name>
Format w/ AliasesOnTWChannelPoint <reward_name1> <reward_name2> ...
ExampleOnTWChannelPoint "Example Reward"
Example w/ AliasesOnTWChannelPoint "Resize" "Left View"
Parameters
idThe user ID of the user that redeemed the reward.
loginThe user login of the user that redeemed the reward.
nameThe user display name of the user that redeemed the reward.
messageThe message included with the channel point redemption.
rewardThe name of the reward.
reward_idThe id of the channel point reward (used with Twitch Complete or Twitch Reject).
redemption_idThe id of the channel point redemption (used with Twitch Complete or Twitch Reject).
dataThe complete Twitch EventSub event data (for use with Function).

OnTWChannelPointCompleted

InfoTriggers when a channel point redemption has been marked as completed. Using * as the <reward_name> will execute the trigger for all channel point rewards.
FormatOnTWChannelPointCompleted <reward_name>
Format w/ AliasesOnTWChannelPointCompleted <reward_name1> <reward_name2> ...
ExampleOnTWChannelPointCompleted "Example Reward"
Example w/ AliasesOnTWChannelPointCompleted "Resize" "Left View"
Parameters
idThe user ID of the user that redeemed the reward.
loginThe user login of the user that redeemed the reward.
nameThe user display name of the user that redeemed the reward.
messageThe message included with the channel point redemption.
rewardThe name of the reward.
reward_idThe id of the channel point reward (used with Twitch Complete or Twitch Reject).
redemption_idThe id of the channel point redemption (used with Twitch Complete or Twitch Reject).
dataThe complete Twitch EventSub event data (for use with Function).

OnTWChannelPointRejected

InfoTriggers when a channel point redemption has been rejected and points are refunded to the user. Using * as the <reward_name> will execute the trigger for all channel point rewards.
FormatOnTWChannelPointRejected <reward_name>
Format w/ AliasesOnTWChannelPointRejected <reward_name1> <reward_name2> ...
ExampleOnTWChannelPointRejected "Example Reward"
Example w/ AliasesOnTWChannelPointRejected "Resize" "Left View"
Parameters
idThe user ID of the user that redeemed the reward.
loginThe user login of the user that redeemed the reward.
nameThe user display name of the user that redeemed the reward.
messageThe message included with the channel point redemption.
rewardThe name of the reward.
reward_idThe id of the channel point reward (used with Twitch Complete or Twitch Reject).
redemption_idThe id of the channel point redemption (used with Twitch Complete or Twitch Reject).
dataThe complete Twitch EventSub event data (for use with Function).

OnTWChannelUpdate

InfoTriggers when a broadcaster updates their channel name, title, or category (game).
FormatOnTWChannelUpdate
ExampleOnTWChannelUpdate
Parameters
gameThe name of the category (game) of the channel.
nameThe broadcaster's name.
titleThe broadcaster's stream title.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWCharityDonation

InfoTriggers when a user donates to the broadcaster's charity campaign.
FormatOnTWCharityDonation
ExampleOnTWCharityDonation
Parameters
idThe user id of the user who donated.
loginThe user login of the user who donated.
nameThe user display name of the user who donated.
charityThe charity's name.
descriptionA description of the charity.
websiteA URL to the charity's website.
amountThe donation amount.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWCharityProgress

InfoTriggers when progress is made towards the campaign's goal or when the broadcaster changes the fundraising goal.
FormatOnTWCharityProgress
ExampleOnTWCharityProgress
Parameters
charityThe charity's name.
descriptionA description of the charity.
websiteA URL to the charity's website.
currentThe current amount of donations that the campaign has received.
targetThe campaign's target fundraising goal.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWCharityStarted

InfoTriggers when the broadcaster starts a charity campaign.
FormatOnTWCharityStarted
ExampleOnTWCharityStarted
Parameters
charityThe charity's name.
descriptionA description of the charity.
websiteA URL to the charity's website.
currentThe current amount of donations that the campaign has received.
targetThe campaign's target fundraising goal.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWCharityStopped

InfoTriggers when the broadcaster stops a charity campaign.
FormatOnTWCharityStopped
ExampleOnTWCharityStopped
Parameters
charityThe charity's name.
descriptionA description of the charity.
websiteA URL to the charity's website.
currentThe current amount of donations that the campaign has received.
targetThe campaign's target fundraising goal.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWChatClear

InfoTriggers when a moderator or bot clears all messages from the chat room.
FormatOnTWChatClear
ExampleOnTWChatClear
Parameters
dataThe complete Twitch EventSub event data (for use with Function).

OnTWChatClearUser

InfoTriggers when a moderator or bot clears all messages for a specific user.
FormatOnTWChatClearUser
ExampleOnTWChatClearUser
Parameters
idThe user ID of the user that had their messages cleared.
loginThe user login of the user that had their messages cleared.
nameThe user display name of the user that had their messages cleared.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWCheer

InfoTriggers when a user cheers in the channel.
FormatOnTWCheer
ExampleOnTWCheer
Parameters
idThe user id of the user who cheered.
loginThe user login of the user who cheered.
nameThe user display name of the user who cheered.
messageThe message sent with the cheer.
amountThe number of bits cheered.
is_anonymousWhether the user cheered anonymously or not.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWCommunityGoalComplete

InfoUsed to trigger a set of actions when a community goal is completed. Using * as the <goal_title> will execute the trigger for all channel point rewards.
FormatOnTWCommunityGoalComplete <goal_title>
Format w/ AliasesOnTWCommunityGoalComplete <goal_title1> <goal_title2> ...
ExampleOnTWCommunityGoalComplete "Example Goal"
Example w/ AliasesOnTWCommunityGoalComplete "Example Goal" "Extra Sunday Stream" ...
Parameters
goalThe title of the community goal.
userThe display name of the user that completed the goal.
amountThe amount of points donated to complete the goal.
user_totalThe total amount of points contributed by the user.
progressThe current amount of points contributed towards the goal.
totalThe amount of points required to complete the goal.
dataThe complete json community goal message (for use with Function).

OnTWCommunityGoalProgress

InfoUsed to trigger a set of actions when a user contributes towards a goal. Using * as the <goal_title> will execute the trigger for all channel point rewards.
FormatOnTWCommunityGoalProgress <goal_title>
Format w/ AliasesOnTWCommunityGoalProgress <goal_title1> <goal_title2> ...
ExampleOnTWCommunityGoalProgress "Example Goal"
Example w/ AliasesOnTWCommunityGoalProgress "Example Goal" "Extra Sunday Stream" ...
Parameters
goalThe title of the community goal.
userThe display name of the user that completed the goal.
amountThe amount of points donated to complete the goal.
user_totalThe total amount of points contributed by the user.
progressThe current amount of points contributed towards the goal.
totalThe amount of points required to complete the goal.
dataThe complete json community goal message (for use with Function).

OnTWCommunityGoalStart

InfoUsed to trigger a set of actions when the streamer starts a goal. Using * as the <goal_title> will execute the trigger for all channel point rewards.
FormatOnTWCommunityGoalStart <goal_title>
Format w/ AliasesOnTWCommunityGoalStart <goal_title1> <goal_title2> ...
ExampleOnTWCommunityGoalStart "Example Goal"
Example w/ AliasesOnTWCommunityGoalStart "Example Goal" "Extra Sunday Stream" ...
Parameters
goalThe title of the community goal.
dataThe complete json community goal message (for use with Function).

OnTWFollow

InfoTriggers when the broadcaster receives a follow.
FormatOnTWFollow
ExampleOnTWFollow
Parameters
idThe user ID of the user now following.
loginThe user login of the user now following.
nameThe user display name of the user now following.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWGoalCompleted

InfoTriggers when a broadcaster finishes a goal successfully. This does not occur automatically when a goal is met as goals are continuous and can be repeatedly completed. This trigger requires the goal to be ended through the Twitch UI (or API) after a goal has been met.
FormatOnTWGoalCompleted
ExampleOnTWGoalCompleted
Parameters
typeThe type of goal created. Possible values are follow, subscription, subscription_count, new_subscription, and new_subscription_count.
descriptionA description of the goal, if specified.
currentThe goal's current value.
targetThe goal's target value.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWGoalFailed

InfoTriggers when a broadcaster ends a goal that was not completed.
FormatOnTWGoalFailed
ExampleOnTWGoalFailed
Parameters
typeThe type of goal created. Possible values are follow, subscription, subscription_count, new_subscription, and new_subscription_count.
descriptionA description of the goal, if specified.
currentThe goal's current value.
targetThe goal's target value.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWGoalProgress

InfoTriggers when progress (either positive or negative) is made towards a broadcaster's goal.
FormatOnTWGoalProgress
ExampleOnTWGoalProgress
Parameters
typeThe type of goal created. Possible values are follow, subscription, subscription_count, new_subscription, and new_subscription_count.
descriptionA description of the goal, if specified.
currentThe goal's current value.
targetThe goal's target value.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWGoalStart

InfoTriggers when the broadcaster begins a channel goal.
FormatOnTWGoalStart
ExampleOnTWGoalStart
Parameters
typeThe type of goal created. Possible values are follow, subscription, subscription_count, new_subscription, and new_subscription_count.
descriptionA description of the goal, if specified.
currentThe goal's current value.
targetThe goal's target value.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWHypeTrainConductor

InfoTriggers when a Hype Train conductor updates.
FormatOnTWHypeTrainConductor
ExampleOnTWHypeTrainConductor
Parameters
bit_conductorThe user display name of the top cheer contributor, if one exists.
sub_conductorThe user display name of the top sub contributor, if one exists.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWHypeTrainEnd

InfoTriggers when a Hype Train ends on the specified channel.
FormatOnTWHypeTrainEnd
ExampleOnTWHypeTrainEnd
Parameters
levelThe final level of the Hype Train.
bit_conductorThe user display name of the top cheer contributor, if one exists.
sub_conductorThe user display name of the top sub contributor, if one exists.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWHypeTrainLevel

InfoUsed to fire a set of actions when the hype train levels up.
FormatOnTWHypeTrainLevel
ExampleOnTWHypeTrainLevel
Parameters
levelThe current level of the Hype Train.
progressTotal points contributed to the Hype Train.
goalThe number of points required to reach the next level.
bit_conductorThe user display name of the top cheer contributor, if one exists.
sub_conductorThe user display name of the top sub contributor, if one exists.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWHypeTrainProgress

InfoTriggers when a Hype Train makes progress on the specified channel.
FormatOnTWHypeTrainProgress
ExampleOnTWHypeTrainProgress
Parameters
levelThe current level of the Hype Train.
progressTotal points contributed to the Hype Train.
goalThe number of points required to reach the next level.
bit_conductorThe user display name of the top cheer contributor, if one exists.
sub_conductorThe user display name of the top sub contributor, if one exists.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWHypeTrainStart

InfoTriggers when Hype Train begins on the channel.
FormatOnTWHypeTrainStart
ExampleOnTWHypeTrainStart
Parameters
levelThe starting level of the Hype Train.
progressTotal points contributed to the Hype Train.
goalThe number of points required to reach the next level.
bit_conductorThe user display name of the top cheer contributor, if one exists.
sub_conductorThe user display name of the top sub contributor, if one exists.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWModAdd

InfoTriggers when moderator privileges were added to a user.
FormatOnTWModAdd
ExampleOnTWModAdd
Parameters
idThe user ID of the new moderator.
loginThe user login of the new moderator.
nameThe user display name of the new moderator.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWModRemove

InfoTriggers when moderator privileges were removed from a user.
FormatOnTWModRemove
ExampleOnTWModRemove
Parameters
idThe user ID of the removed moderator.
loginThe user login of the removed moderator.
nameThe user display name of the removed moderator.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWPowerUp

Note: This only triggers for custom power ups. Message Effects, Gigantify an Emote, and On-Screen Celebration are not captured.

InfoUsed to trigger a set of actions when a custom power up is redeemed. Using * as the <power_up_name> will execute the trigger for all power ups.
FormatOnTWPowerUp <power_up_name>
Format w/ AliasesOnTWPowerUp <power_up_name1> <power_up_name2> ...
ExampleOnTWPowerUp "Example PowerUp"
Example w/ AliasesOnTWPowerUp "Resize" "Left View"
Parameters
idThe user ID of the user that redeemed the reward.
loginThe user login of the user that redeemed the reward.
nameThe user display name of the user that redeemed the reward.
power_upThe name of the power up.
power_up_idThe id of the power up.
redemption_idThe id of the power up redemption.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWPoll

InfoTriggers when a poll starts in the channel.
FormatOnTWPoll
ExampleOnTWPoll
Parameters
titleThe title of the poll.
durationThe duration (in seconds) of the poll.
bits_enabled[true/false] true if voting with bits is enabled. Otherwise, false.
bits_amountThe number of bits required to vote once.
points_enabled[true/false] true if voting with channel points is enabled. Otherwise, false.
points_amountThe number of channel points required to vote once.
choice_countThe number of choices (answers, options, etc.) in the poll.
choice#The text displayed for the choice in the poll. Replace # with a number, starting at 1 and ending at choice_count.
choice_id#The id of the choice in the poll. Replace # with a number, starting at 1 and ending at choice_count.
dataThe complete Twitch EventSub event data (for use with Function).

Note: Bit voting is not currently supported, however Twitch provides these values. Kruiz Control forwards them incase they are ever implemented.


OnTWPollEnd

InfoTriggers when a poll ends in the channel. Canceled or deleted polls do not trigger this.
FormatOnTWPollEnd
ExampleOnTWPollEnd
Parameters
titleThe title of the poll.
durationThe duration (in seconds) of the poll.
winnerThe winning option in the poll.
votesThe number of votes cast for the winning option.
bits_enabled[true/false] true if voting with bits is enabled. Otherwise, false.
bits_amountThe number of bits required to vote once.
points_enabled[true/false] true if voting with channel points is enabled. Otherwise, false.
points_amountThe number of channel points required to vote once.
choice_countThe number of choices (answers, options, etc.) in the poll.
choice#The text displayed for the choice in the poll. Replace # with a number, starting at 1 and ending at choice_count.
choice_votes#The number of votes for a choice in the poll. Replace # with a number, starting at 1 and ending at choice_count.
choice_id#The id of the choice in the poll. Replace # with a number, starting at 1 and ending at choice_count.
dataThe complete Twitch EventSub event data (for use with Function).

Note: Bit voting is not currently supported, however Twitch provides these values. Kruiz Control forwards them incase they are ever implemented.


OnTWPollUpdate

InfoTriggers when any user votes in the poll.
FormatOnTWPollUpdate
ExampleOnTWPollUpdate
Parameters
titleThe title of the poll.
durationThe duration (in seconds) of the poll.
time_leftThe time left (in seconds) for the poll.
bits_enabled[true/false] true if voting with bits is enabled. Otherwise, false.
bits_amountThe number of bits required to vote once.
points_enabled[true/false] true if voting with channel points is enabled. Otherwise, false.
points_amountThe number of channel points required to vote once.
choice_countThe number of choices (answers, options, etc.) in the poll.
choice#The text displayed for the choice in the poll. Replace # with a number, starting at 1 and ending at choice_count.
choice_votes#The number of votes for a choice in the poll. Replace # with a number, starting at 1 and ending at choice_count.
choice_id#The id of the choice in the poll. Replace # with a number, starting at 1 and ending at choice_count.
dataThe complete Twitch EventSub event data (for use with Function).

Note: Bit voting is not currently supported, however Twitch provides these values. Kruiz Control forwards them incase they are ever implemented.


OnTWPrediction

InfoTriggers when a prediction starts in the channel.
FormatOnTWPrediction
ExampleOnTWPrediction
Parameters
titleThe title of the prediction.
durationThe duration (in seconds) of the prediction.
outcome_countThe number of outcomes (options, etc.) in the prediction.
outcome#The text displayed for the outcome in the prediction. Replace # with a number, starting at 1 and ending at outcome_count.
outcome_color#The color of the outcome in the prediction. Replace # with a number, starting at 1 and ending at outcome_count.
outcome_id#The id of the outcome in the prediction. Replace # with a number, starting at 1 and ending at outcome_count.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWPredictionEnd

InfoTriggers when a prediction ends on the channel. This does not trigger if the prediction is canceled.
FormatOnTWPredictionEnd
ExampleOnTWPredictionEnd
Parameters
titleThe title of the prediction.
resultThe winning prediction outcome.
outcome_countThe number of outcomes (options, etc.) in the prediction.
outcome#The text displayed for the outcome in the prediction. Replace # with a number, starting at 1 and ending at outcome_count.
outcome_color#The color of the outcome in the prediction. Replace # with a number, starting at 1 and ending at outcome_count.
outcome_points#The number of points contributed towards the outcome in the prediction. Replace # with a number, starting at 1 and ending at outcome_count
outcome_users#The number of users contributing towards the outcome in the prediction. Replace # with a number, starting at 1 and ending at outcome_count.
outcome_id#The id of the outcome in the prediction. Replace # with a number, starting at 1 and ending at outcome_count.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWPredictionLock

InfoTriggers when participation in a prediction was locked.
FormatOnTWPredictionLock
ExampleOnTWPredictionLock
Parameters
titleThe title of the prediction.
outcome_countThe number of outcomes (options, etc.) in the prediction.
outcome#The text displayed for the outcome in the prediction. Replace # with a number, starting at 1 and ending at outcome_count.
outcome_color#The color of the outcome in the prediction. Replace # with a number, starting at 1 and ending at outcome_count.
outcome_points#The number of points contributed towards the outcome in the prediction. Replace # with a number, starting at 1 and ending at outcome_count
outcome_users#The number of users contributing towards the outcome in the prediction. Replace # with a number, starting at 1 and ending at outcome_count.
outcome_id#The id of the outcome in the prediction. Replace # with a number, starting at 1 and ending at outcome_count.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWPredictionUpdate

InfoTriggers when user participates in a prediction in the channel.
FormatOnTWPredictionUpdate
ExampleOnTWPredictionUpdate
Parameters
titleThe title of the prediction.
durationThe duration (in seconds) of the prediction.
time_leftThe time left (in seconds) for the prediction.
outcome_countThe number of outcomes (options, etc.) in the prediction.
outcome#The text displayed for the outcome in the prediction. Replace # with a number, starting at 1 and ending at outcome_count.
outcome_color#The color of the outcome in the prediction. Replace # with a number, starting at 1 and ending at outcome_count.
outcome_points#The number of points contributed towards the outcome in the prediction. Replace # with a number, starting at 1 and ending at outcome_count
outcome_users#The number of users contributing towards the outcome in the prediction. Replace # with a number, starting at 1 and ending at outcome_count.
outcome_id#The id of the outcome in the prediction. Replace # with a number, starting at 1 and ending at outcome_count.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWRaid

InfoTriggers when another streamer raids the broadcaster's channel.
FormatOnTWRaid
ExampleOnTWRaid
Parameters
idThe user id of the user who created the raid.
loginThe user login of the user who created the raid.
nameThe user display name of the user who created the raid.
raidersThe number of viewers in the raid.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWShieldStart

InfoTriggers when a moderator activates shield mode on the channel.
FormatOnTWShieldStart
ExampleOnTWShieldStart
Parameters
modThe user name of the moderator who activated shield mode.
mod_idThe user id of the moderator who activated shield mode.
mod_loginThe user login of the moderator who activated shield mode.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWShieldStop

InfoTriggers when a moderator deactivates shield mode on the channel.
FormatOnTWShieldStop
ExampleOnTWShieldStop
Parameters
modThe user name of the moderator who deactivated shield mode.
mod_idThe user id of the moderator who deactivated shield mode.
mod_loginThe user login of the moderator who deactivated shield mode.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWShoutout

InfoTriggers when a moderator sends a shoutout in the channel.
FormatOnTWShoutout
ExampleOnTWShoutout
Parameters
idThe user id of the user who received the shoutout.
loginThe user login of the user who received the shoutout.
nameThe user display name of the user who received the shoutout.
modThe user display name of the mod who created the shoutout.
viewersThe number of users that were watching the stream at the time of the shoutout.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWShoutoutReceived

InfoTriggers when the channel receives a shoutout from another broadcaster.
FormatOnTWShoutoutReceived
ExampleOnTWShoutoutReceived
Parameters
idThe user id of the user who sent the shoutout.
loginThe user login of the user who sent the shoutout.
nameThe user display name of the user who sent the shoutout.
viewersThe number of users watching the other stream at the time of the shoutout.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWStreamStarted

InfoTriggers when the channel starts a stream.
FormatOnTWStreamStarted
ExampleOnTWStreamStarted
Parameters
dataThe complete Twitch EventSub event data (for use with Function).

OnTWStreamStopped

InfoTriggers when the channel stops a stream.
FormatOnTWStreamStopped
ExampleOnTWStreamStopped
Parameters
dataThe complete Twitch EventSub event data (for use with Function).

OnTWSub

InfoTriggers when the channel receives a subscriber. This does not include resubscribers.
FormatOnTWSub
ExampleOnTWSub
Parameters
idThe user id of the user who subscribed.
loginThe user login of the user who subscribed.
nameThe user display name of the user who subscribed.
tier1, 2, 3, or Prime depending on what subscription tier the user is.
is_gift[true/false] true if the user's subscription was a gifted sub. Otherwise, false.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWSubGift

InfoTriggers when a viewer gives a gift subscription to one or more users in the specified channel.
FormatOnTWSubGift
ExampleOnTWSubGift
Parameters
idThe user id of the user who sent the subscription gift.
loginThe user login of the user who sent the subscription gift.
nameThe user display name of the user who sent the subscription gift.
tierThe tier of subscriptions in the subscription gift. 1, 2, or 3 depending on what subscription tier the user is.
amountThe number of subscriptions in the subscription gift.
total_giftsThe number of subscriptions gifted by this user in the channel. This value is empty for anonymous gifts or if the gifter has opted out of sharing this information.
is_anonymous[true/false] true if the subscription gift was anonymous. Otherwise, false.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWSubMessage

InfoTriggers when a user sends a resubscription chat message in the channel.
FormatOnTWSubMessage
ExampleOnTWSubMessage
Parameters
idThe user id of the user who sent the resubscription chat message.
loginThe user login of the user who sent the resubscription chat message.
nameThe user display name of the user who sent the resubscription chat message.
tierThe tier of subscription in the resubscription chat message. 1, 2, or 3 depending on what subscription tier the user is.
messageThe resubscription message.
monthsThe total number of months the user has been subscribed to the channel.
streakThe number of consecutive months the user’s current subscription has been active. This value is empty if the user has opted out of sharing this information.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWSuspiciousUser

InfoTriggers when a chat message has been sent from a suspicious user.
FormatOnTWSuspiciousUser
ExampleOnTWSuspiciousUser
Parameters
idThe user id of the suspicious user that sent the message.
loginThe user login of the suspicious user that sent the message.
nameThe user display name of the suspicious user that sent the message.
typeThe type of suspicious user, i.e. ban_evader. unknown if no type provided by Twitch.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWTimeout

InfoTriggers when a viewer is timed out from the channel.
FormatOnTWTimeout
ExampleOnTWTimeout
Parameters
idThe user id of the user who was timed out.
loginThe user login of the user who was timed out.
nameThe user display name of the user who was timed out.
modThe user name of the issuer of the timeout.
reasonThe reason given for the timeout.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWUnban

InfoTriggers when a viewer is unbanned from the channel.
FormatOnTWUnban
ExampleOnTWUnban
Parameters
idThe user id of the user who was unbanned.
loginThe user login of the user who was unbanned.
nameThe user display name of the user who was unbanned.
modThe user name of the issuer of the unban.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWUnVIP

InfoTriggers when a VIP is removed from the channel.
FormatOnTWUnVIP
ExampleOnTWUnVIP
Parameters
idThe user id of the user who was removed as a VIP.
loginThe user login of the user who was removed as a VIP.
nameThe user display name of the user who was removed as a VIP.
dataThe complete Twitch EventSub event data (for use with Function).

OnTWVIP

InfoTriggers when a VIP is added to the channel.
FormatOnTWVIP
ExampleOnTWVIP
Parameters
idThe user id of the user who was added as a VIP.
loginThe user login of the user who was added as a VIP.
nameThe user display name of the user who was added as a VIP.
dataThe complete Twitch EventSub event data (for use with Function).

Twitch Actions

Twitch AddBlockedTerm

InfoUsed to add a word or phrase to the broadcaster's list of blocked terms. These are the terms that the broadcaster doesn't want used in their chat room. <term> is the term or phrase to remove.
FormatTwitch AddBlockedTerm <term>
ExampleTwitch AddBlockedTerm "bad word"
Example w/ AliasesTwitch AddBlockedTerm "phrase to block" "bad term"

Twitch AddSuspiciousUser

InfoAdds a suspicious user status to a chatter on the broadcaster's channel. This allows for easy monitoring of a user's messages. <user> is the Twitch user to add as a suspicious user.
FormatTwitch AddSuspiciousUser <user>
ExampleTwitch AddSuspiciousUser testUser

Twitch AdSchedule

InfoUsed to retrieve upcoming scheduled ad, snooze, and pre-roll related information.
FormatTwitch AdSchedule
ExampleTwitch AdSchedule
Parameters
dataThe complete response from the Twitch Ad Schedule API.
next_ad_timeThe number of seconds until the next scheduled ad. The value is -1 if no upcoming ad is scheduled.
next_ad_durationThe duration (in seconds) of the next scheduled ad.
preroll_free_timeThe amount (in seconds) of pre-roll free time remaining for the channel.
next_snooze_timeThe number of seconds until the broadcaster receives an additional ad snooze.
snooze_countThe number of snoozes available for the broadcaster.

Twitch Announcement

InfoSends an announcement to the broadcaster's chat room. <message> is the announcement to make (500 characters or less). <optional_color> is an optional color used to highlight the announcement. The color must be one of blue, green, orange, purple, primary (the default).
FormatTwitch Announcement <message> <optional_color>
ExampleTwitch Announcement "Check out this announcement!"
Example w/ ColorTwitch Announcement "Check out this announcement!" blue

Twitch Auth

InfoRequest the current twitch credentials. Useful if running additional API calls not included in Kruiz Control.
FormatTwitch Auth
ExampleTwitch Auth
Parameters
channel_idThe broadcaster's Twitch channel ID.
client_idThe Twitch client ID.
client_secretThe Twitch client secret.
access_tokenThe current Twitch OAuth access token (The bearer token).

Twitch Authenticate

InfoGenerate an login URL to authenticate a user and generate an access code.
FormatTwitch Authenticate
ExampleTwitch Authenticate
Parameters
auth_urlThe URL to open to authenticate a Twitch user.

Twitch Ban

InfoBan a user from participating in the specified broadcaster's chat room. <user> is the Twitch user to ban. <optional_reason> is text to define the reason for the ban.
FormatTwitch Ban <user> <optional_reason>
ExampleTwitch Ban testUser
Example w/ ReasonTwitch Ban testUser "Inappropriate behavior"

Twitch BitsLeaderboard

InfoGets the Bits leaderboard for the authenticated broadcaster. <optional_count> is the number of users to return (default is 10). <optional_period> is the time period over which data is aggregated. Possible values are day, week, month, year, and all (default).
FormatTwitch BitsLeaderboard <optional_count> <optional_period>
ExampleTwitch BitsLeaderboard
Example w/ CountTwitch BitsLeaderboard 3
Example w/ Count and PeriodTwitch BitsLeaderboard 3 day
Parameters
dataThe complete response from the Twitch Bit Leaderboard API.
user_countThe number of users retrieved on the leaderboard.
user#The users on the leaderboard. Replace # with a number, starting at 1 and ending at user_count.
bits#The bits given by the users on the leaderboard. Replace # with a number, starting at 1 and ending at user_count.
Example Usage
Retrieve the top 3 cheerers from the past month.
OnInit
Twitch BitsLeaderboard 3 month
if 2 {user_count} == 0
Chat Send "There are no users for this period."
Exit
Param Create i 1
Loop 2 {user_count}
Chat Send "#{i} {user{i}} cheered {bits{i}} bits this month!"
Param Add i 1

Twitch Block

InfoBlocks the specified user from interacting with or having contact with the broadcaster. <user> is the Twitch user to block.
FormatTwitch Block <user>
ExampleTwitch Block testUser

Twitch ChannelInfo

InfoRetrieves basic information about the specified channel. <optional_user> is the name of the twitch channel to retrieve. If no user is given, the settings/twitch/user.txt value is used.
FormatTwitch ChannelInfo <optional_user>
ExampleTwitch ChannelInfo
Example w/ UserTwitch ChannelInfo Kruiser8
Parameters
dataThe complete response from the Twitch Channel Information API.
gameThe game (or category) of the Twitch stream.
languageThe broadcaster's preferred language.
nameThe specified Twitch stream's display name.
titleThe title of the specified Twitch stream.
tag_countThe number of tags retrieved for the channel.
tag#The tags on the specified channel. Replace # with a number, starting at 1 and ending at tag_count.

Twitch Chatters

InfoGets the list of all users that are connected to the broadcaster's chat session.
FormatTwitch Chatters
ExampleTwitch Chatters
Parameters
dataThe complete response from the Twitch Chatters API.
chatter_countThe number of chatters in the channel.
user#The users in the specified channel. Replace # with a number, starting at 1 and ending at chatter_count.

Twitch ChattersPaginated

InfoGets a paginated list of users that are connected to the broadcaster's chat session. <first> is the number of chatters to get on this page between 1 and 1000. <optional_cursor> is the pagination cursor to use when retrieving the next page. On the first page, the cursor should not be supplied.
FormatTwitch Chatters <first> <optional_cursor>
ExampleTwitch Chatters 1000
Example w/ CursorTwitch Chatters 1000 eyJiIjpudWxsLCJhIjp7Ik9mZnNldCI6NX19
Parameters
dataThe complete response from the Twitch Chatters API.
chatter_countThe number of chatters in the channel.
cursorThe pagination value to retrieve the next page of results.
user#The users in the specified channel. Replace # with a number, starting at 1 and ending at chatter_count.

Twitch ClearChat

InfoClears the broadcaster's chatroom. This is the equivalent of using the /clear chat command.
FormatTwitch ClearChat
ExampleTwitch ClearChat

Twitch ClipById

InfoRetrieves the information for the specified clip id.
FormatTwitch ClipById <id>
ExampleTwitch ClipById AltruisticWiseNewtNomNom
Parameters
dataThe complete response from the Twitch Clip API.
clipThe URL for the clip.
nameThe name of the Twitch clip.
durationThe duration of the Twitch clip in seconds.

Twitch ClipsByUser

InfoReturns the top clips that were captured for the specified user. <user> is the channel to retrieve clips for. <optional_count> is the number of clips to retrieve (20 by default).
FormatTwitch ClipsByUser <user> <optional_count>
ExampleTwitch ClipsByUser Kruiser8
Example w/ CountTwitch ClipsByUser Kruiser8 1
Parameters
dataThe complete response from the Twitch Clip API.
clip_countThe number of clips retrieved.
clip#The URL of the clip from the specified channel. Replace # with a number, starting at 1 and ending at clip_count.
name#The name of the clip from the specified channel. Replace # with a number, starting at 1 and ending at clip_count.
duration#The duration of the clip from the specified channel. Replace # with a number, starting at 1 and ending at clip_count.

Twitch Color

InfoUpdates the color used for the user's name in chat. <color> is the color to use for the user's name in chat. Turbo and Prime users may specify a named color or a Hex color code like #9146FF. Otherwise, the color must be one of blue, blue_violet, cadet_blue, chocolate, coral, dodger_blue, firebrick, golden_rod, green, hot_pink, orange_red, red, sea_green, spring_green, yellow_green.
FormatTwitch Color <color>
ExampleTwitch Color green
Example w/ HexTwitch Color #9146FF

Twitch Commercial

InfoStarts a commercial on the Twitch channel. <optional_duration> is the number of seconds for the commercial to run (default is 60). Note that Twitch tries to serve a commercial that's the requested length, but it may be shorter or longer. The maximum length you should request is 180 seconds.
FormatTwitch Commercial <optional_duration>
ExampleTwitch Commercial
Example w/ DurationTwitch Commercial 120

Twitch Complete

InfoMark a channel point reward redemption as complete. <reward_id> is the id of the channel point reward. <redemption_id> is the id of the channel point reward redemption. Both of these values are provided by OnTWChannelPoint as parameters. To reject a redemption and refund points, use Twitch Reject.
FormatTwitch Complete <reward_id> <redemption_id>
ExampleTwitch Complete 92af127c-7326-4483-a52b-b0da0be61c01 17fa2df1-ad76-4804-bfa5-a40ef63efe63
Example using OnTWChannelPoint ParametersTwitch Complete {reward_id} {redemption_id}

Note: Due to a Twitch API restriction, in order for Kruiz Control to interact with Channel Point rewards, Kruiz Control has to create the reward. Use Twitch Copy to create duplicates of existing channel point rewards.


Twitch Copy

InfoCreate a copy of a channel point reward so that KC can manage the reward and redemptions. <reward> is the title of the channel point reward to copy. This action will create a copy of the reward with kc_ in the title and will be disabled by default. The reward icon (image) will have to be re-added.
FormatTwitch Copy <reward>
ExampleTwitch Copy HeadPat

Twitch CreateClip

InfoCreates a clip from the broadcaster's stream. If <optional_should_delay> is included and set to true, then Twitch adds a delay before capturing the clip (this basically shifts the capture window to the right slightly). Otherwise, no delay is added.
FormatTwitch CreateClip <optional_should_delay>
ExampleTwitch CreateClip
Example w/ optional_should_delayTwitch CreateClip true
Parameters
dataThe complete response from the Twitch Create Clip API.
urlThe url of the created clip.
idThe ID of the created clip.

Twitch CreateReward

InfoCreates a channel point reward in the broadcaster's stream. <name> is the name of the channel point reward. <optional_cost> is an optional input to set the cost of the reward (default: 1000).
FormatTwitch CreateReward <name> <optional_cost>
ExampleTwitch CreateReward Waldo
Example w/ optional_costTwitch CreateReward Waldo 1234

Twitch DeleteMessage

InfoDeletes a chat message by the provided id. <message_id> is the id of the chat message to delete. This can be used with the message_id parameter returned by Chat Triggers.
FormatTwitch DeleteMessage <message_id>
ExampleTwitch DeleteMessage abc-123-def

Twitch Description

InfoUpdates the specified broadcaster's channel description. <description> is the text to update the channel's description to. The description is limited to a maximum of 300 characters.
FormatTwitch Description <description>
ExampleTwitch Description "Hey there -- Welcome to the Krew!"

Twitch EmoteOnly

InfoTurn on emote only mode where chat messages must contain only emotes.
FormatTwitch EmoteOnly
ExampleTwitch EmoteOnly

Twitch EmoteOnlyOff

InfoTurn off emote only mode where chat messages must contain only emotes.
FormatTwitch EmoteOnlyOff
ExampleTwitch EmoteOnlyOff

Twitch Emotes

InfoGets the channel's list of custom emotes. <optional_user> is the channel to query (Default is the settings/twitch/user.txt value).
FormatTwitch Emotes <optional_user>
ExampleTwitch Emotes
Example w/ UserTwitch Emotes Kruiser8
Parameters
dataThe complete response from the Twitch Channel Emotes API.
emote_countThe number of emotes retrieved.
emote#An emote from the specified channel. Replace # with a number, starting at 1 and ending at emote_count.

Twitch FollowCount

InfoRetrieve the number of followers for the given channel. <optional_user> is the channel to check. The broadcaster's follower count is used if no user is provided.
FormatTwitch FollowCount <optional_user>
ExampleTwitch FollowCount
Example w/ UserTwitch FollowCount Kruiser8
Parameters
dataThe complete response from the Twitch Followed Streams API.
follow_countThe total number of users that follow the specified channel.

Twitch Followers

InfoRestricts the broadcaster's chat room to followers only. <optional_duration> is the number of minutes to be in follower mode. The default duration is 0 (no restriction) and the maximum is 129,600 (3 months).
FormatTwitch Followers <optional_duration>
ExampleTwitch Followers
Example w/ DurationTwitch Followers 60

Twitch FollowersOff

InfoDisable follower only mode in the broadcaster's chat.
FormatTwitch FollowersOff
ExampleTwitch FollowersOff

Twitch Game

InfoUpdates a channel's game (or category). <game> is the game to set for the channel. The <game> value must match a Twitch category exactly.
FormatTwitch Game <game>
ExampleTwitch Game "Rocket League"

Twitch Goals

InfoGets the broadcaster's list of active goals.
FormatTwitch Goals
ExampleTwitch Goals
Parameters
dataThe complete response from the Twitch Creator Goals API.
goal_countThe number of goals retrieved.
goal#The name (description) of the goal. Replace # with a number, starting at 1 and ending at goal_count.
type#The type of the goal (follower, subscriber, etc.). Replace # with a number, starting at 1 and ending at goal_count.
current#The current value of the goal. Replace # with a number, starting at 1 and ending at goal_count.
target#The target value of the goal. Replace # with a number, starting at 1 and ending at goal_count.
perc#The current progress percentage of the goal (between 0 and 100). Replace # with a number, starting at 1 and ending at goal_count.

Twitch IsFollower

InfoCheck if the given user follows the channel. <user> is the channel to check.
FormatTwitch IsFollower <user>
ExampleTwitch IsFollower Kruiser8
Parameters
dataThe complete response from the Twitch Channel Followers API.
is_follower[true/false] true if the user follows the channel. Otherwise, false.

Twitch IsShieldMode

InfoCheck if the stream has shield mode active.
FormatTwitch IsShieldMode
ExampleTwitch IsShieldMode
Parameters
dataThe complete response from the Twitch Channel Followers API.
is_shield_mode[true/false] true if the stream has shield mode active. Otherwise, false.

Twitch IsSubscriber

InfoCheck if the given user subscribes to the channel. <user> is the channel to check.
FormatTwitch IsSubscriber <user>
ExampleTwitch IsSubscriber Kruiser8
Parameters
dataThe complete response from the Twitch Channel Followers API.
is_subscriber[true/false] true if the user subscribes to the channel. Otherwise, false.
is_gifted[true/false] true if the user's subscription was a gifted sub. Otherwise, false.
gifterIf is_gifted, this will contain the name of the user who gifted the subscription.
tier1, 2 or 3, depending on what Tier the subscribed user is.

Twitch Marker

InfoAdds a marker to a live stream. A marker is an arbitrary point in a live stream that the broadcaster or editor wants to mark, so they can return to that spot later to create video highlights (see Video Producer, Highlights in the Twitch UX). <optional_description> is an optional short description of the marker to help remember why the location was marked. The maximum length of the description is 140 characters.
FormatTwitch Marker <optional_description>
ExampleTwitch Marker
Example w/ descriptionTwitch Marker "Amazing goal!"

Twitch Mod

InfoAdds a moderator to the broadcaster's chat room. <user> is the Twitch user to mod.
FormatTwitch Mod <user>
ExampleTwitch Mod testUser

Twitch Mods

InfoGets the broadcaster's list of moderators.
FormatTwitch Mods
ExampleTwitch Mods
Parameters
dataThe complete response from the Twitch Moderators API.
mod_countThe number of moderators retrieved.
mod#The name of the moderator. Replace # with a number, starting at 1 and ending at mod_count.
id#The user id (login) of the moderator. Replace # with a number, starting at 1 and ending at mod_count.

Twitch Pin

InfoSends and pins a message to the broadcaster's twitch chat using the broadcaster's account. <message> is the message to pin. <optional_duration> is the number of seconds to pin the message, between 30 and 1800. When <optional_duration> is not provided, the message is pinned until the end of the stream.
FormatTwitch Pin <message> <optional_duration>
ExampleTwitch Pin "Check this out!"
Example w/ durationTwitch Pin "Check this out!" 60
Parameters
dataThe complete response from the Twitch Send Message API.
message_idThe id of the pinned message.

Twitch Poll Cancel

InfoCancel the poll and send channel point refunds to the participants (if points enabled).
FormatTwitch Poll Cancel
ExampleTwitch Poll Cancel

Twitch Poll Choice

InfoProvide the choices for the poll. <choice> is the poll option to add. Multiple choices can be added in the same action or across multiple actions.
FormatTwitch Poll Choice <choice>
ExampleTwitch Poll Choice Yes
Example to Add Multiple OutcomesTwitch Poll Choice "Yes" "No"

Note: For a complete poll example, see Twitch Poll Create.


Twitch Poll Clear

InfoClear the current poll data, removing any existing poll details.
FormatTwitch Poll Clear
ExampleTwitch Poll Clear

Twitch Poll Create

InfoCreates a poll on the channel. The poll runs as soon as it's created. The broadcaster may run only one poll at a time.
FormatTwitch Poll Create
ExampleTwitch Poll Create
Parameters
dataThe complete response from the Twitch Create Poll API.
Example Usage
Create a Poll
OnInit
Twitch Poll Title "Will Kruizy Die??"
Twitch Poll Choice "Yes" "No"
Twitch Poll Choice "MAYBE"
Twitch Poll Time 20
Twitch Poll Create
Delay 10
# End the poll early (to show you can)
Twitch Poll End

Twitch Poll End

InfoComplete the poll early before time is up.
FormatTwitch Poll End
ExampleTwitch Poll End

Twitch Poll PointsPerVote

InfoEnable viewers to cast additional votes using channel points. <points> is the number of points (between 1 and 1,000,000) that the viewer must spend to cast one additional vote. If Twitch Poll PointsPerVote isn't used, channel points may not be used to vote.
FormatTwitch Poll PointsPerVote <points>
ExampleTwitch Poll PointsPerVote 10000

Note: For a complete poll example, see Twitch Poll Create.


Twitch Poll Time

InfoProvide the number of seconds that the poll will run for. The minimum is 15 seconds and the maximum is 1800 seconds (30 minutes). <seconds> is the number of seconds. If no time is provided for a poll, 120 is used.
FormatTwitch Poll Time <seconds>
ExampleTwitch Poll Time 300

Note: For a complete poll example, see Twitch Poll Create.


Twitch Poll Title

InfoProvide the question that the broadcaster is asking. <title> is the title to use for the poll. The title may contain a maximum of 60 characters.
FormatTwitch Poll Title <title>
ExampleTwitch Poll Title "Do you believe?"

Note: For a complete poll example, see Twitch Poll Create.


Twitch Prediction Cancel

InfoCancel the prediction and send channel point refunds to the participants.
FormatTwitch Prediction Cancel
ExampleTwitch Prediction Cancel

Twitch Prediction Clear

InfoClear the current Prediction data, removing any existing prediction details.
FormatTwitch Prediction Clear
ExampleTwitch Prediction Clear

Twitch Prediction Complete

InfoComplete the prediction and provide the winning outcome. <outcome> is the prediction option that won. This must match the text of the outcome exactly.
FormatTwitch Prediction Complete <outcome>
ExampleTwitch Prediction Complete Yes

Twitch Prediction Create

InfoCreates a Channel Points Prediction. The prediction runs as soon as it's created. The broadcaster may run only one prediction at a time.
FormatTwitch Prediction Create
ExampleTwitch Prediction Create
Parameters
dataThe complete response from the Twitch Create Prediction API.
Example Usage
Create a Prediction
OnInit
Twitch Prediction Title "Will Kruizy Die??"
Twitch Prediction Outcome "Yes" "No"
Twitch Prediction Outcome "MAYBE"
Twitch Prediction Time 20
Twitch Prediction Create
Delay 25
# Mark "MAYBE" as the winning result
Twitch Prediction Complete "MAYBE"

Twitch Prediction Lock

InfoLock the current prediction, making it so viewers can no longer make predictions.
FormatTwitch Prediction Lock
ExampleTwitch Prediction Lock

Twitch Prediction Outcome

InfoProvide the outcomes (or options) for the prediction. <outcome> is the prediction option to add. Multiple outcomes can be added in the same action or across multiple actions.
FormatTwitch Prediction Outcome <outcome>
ExampleTwitch Prediction Outcome Yes
Example to Add Multiple OutcomesTwitch Prediction Outcome "Yes" "No"

Note: For a complete prediction example, see Twitch Prediction Create.


Twitch Prediction Time

InfoProvide the number of seconds that the prediction will run for. The minimum is 30 seconds and the maximum is 1800 seconds (30 minutes). <seconds> is the number of seconds. If no time is provided for a prediction, 120 is used.
FormatTwitch Prediction Time <seconds>
ExampleTwitch Prediction Time 300

Note: For a complete prediction example, see Twitch Prediction Create.


Twitch Prediction Title

InfoProvide the question that the broadcaster is asking. <title> is the title to use for the prediction. The title is limited to a maximum of 45 characters.
FormatTwitch Prediction Title <title>
ExampleTwitch Prediction Title "Do you believe?"

Note: For a complete prediction example, see Twitch Prediction Create.


Twitch Raid

InfoRaid another channel by sending the broadcaster's viewers to the targeted channel. <user> is the Twitch channel to raid.
FormatTwitch Raid <user>
ExampleTwitch Raid testUser

Twitch Reject

InfoMark a channel point reward redemption as rejected and refund a user's points. <reward_id> is the id of the channel point reward. <redemption_id> is the id of the channel point reward redemption. Both of these values are provided by OnTWChannelPoint as parameters. To complete a redemption, use Twitch Complete.
FormatTwitch Reject <reward_id> <redemption_id>
ExampleTwitch Reject 92af127c-7326-4483-a52b-b0da0be61c01 17fa2df1-ad76-4804-bfa5-a40ef63efe63
Example using OnTWChannelPoint ParametersTwitch Reject {reward_id} {redemption_id}

Note: Due to a Twitch API restriction, in order for Kruiz Control to interact with Channel Point rewards, Kruiz Control has to create the reward. Use Twitch Copy to create duplicates of existing channel point rewards.


Twitch RemoveBlockedTerm

InfoUsed to remove a word or phrase from the broadcaster's list of blocked terms. These are the terms that the broadcaster doesn't want used in their chat room. <term> is the term or phrase to remove.
FormatTwitch RemoveBlockedTerm <term>
ExampleTwitch RemoveBlockedTerm "bad word"
Example w/ AliasesTwitch RemoveBlockedTerm "phrase to block" "bad term"

Twitch RemoveSuspiciousUser

InfoRemove a suspicious user status from a chatter on the broadcaster's channel. <user> is the Twitch user to add as a suspicious user.
FormatTwitch RemoveSuspiciousUser <user>
ExampleTwitch RemoveSuspiciousUser testUser

Twitch Reward

InfoUsed to update the status of a channel point reward. <reward> is the title of the reward to update. <off/on/pause/toggle/unpause> are the status options. off, on, and toggle enable or disable the reward. pause and unpause will pause or resume the ability for viewers to redeem the reward.
FormatTwitch Reward <reward> <off/on/pause/toggle/unpause>
ExampleTwitch Reward HeadPat off

Note: Due to a Twitch API restriction, in order for Kruiz Control to interact with Channel Point rewards, Kruiz Control has to create the reward. Use Twitch Copy to create duplicates of existing channel point rewards.


Twitch RewardCost

InfoUsed to update the cost of a channel point reward. <reward> is the current name of the reward to update. <cost> is the new cost to apply.
FormatTwitch RewardCost <reward> cost
ExampleTwitch RewardCost HeadPat 300

Note: Due to a Twitch API restriction, in order for Kruiz Control to interact with Channel Point rewards, Kruiz Control has to create the reward. Use Twitch Copy to create duplicates of existing channel point rewards.


Twitch RewardDescription

InfoUsed to update the description of a channel point reward. <reward> is the current name of the reward to update. <description> is the new description to apply.
FormatTwitch RewardDescription <reward> <description>
ExampleTwitch RewardDescription HeadPat "[Disabled while the camera is not shown]"

Note: Due to a Twitch API restriction, in order for Kruiz Control to interact with Channel Point rewards, Kruiz Control has to create the reward. Use Twitch Copy to create duplicates of existing channel point rewards.


Twitch RewardName

InfoUsed to update the name of a channel point reward. <reward> is the current name of the reward to update. <name> is the new name to apply.
FormatTwitch RewardName <reward> <name>
ExampleTwitch RewardName HeadPat HeadBoop

Note: Due to a Twitch API restriction, in order for Kruiz Control to interact with Channel Point rewards, Kruiz Control has to create the reward. Use Twitch Copy to create duplicates of existing channel point rewards.


Twitch Shield

InfoActivates or deactivates the broadcaster's Shield Mode.
FormatTwitch Shield <on/off/toggle>
ExampleTwitch Shield toggle

Twitch Shoutout

InfoSends a Shoutout to the specified channel. <user> is the Twitch channel to shoutout.
FormatTwitch Shoutout <user>
ExampleTwitch Shoutout testUser

Twitch Slow

InfoLimit how often users in the chat room are allowed to send messages. <optional_duration> is the number of seconds that users must wait between sending messages (default 30). The minimum duration is 3 seconds and the maximum is 120 (2 minutes).
FormatTwitch Slow <optional_duration>
ExampleTwitch Slow
Example w/ DurationTwitch Slow 60

Twitch SlowOff

InfoDisable slow mode in the broadcaster's chat.
FormatTwitch SlowOff
ExampleTwitch SlowOff

Twitch Streams

InfoGets the list of followed streams that are currently live.
FormatTwitch Streams
ExampleTwitch Streams
Parameters
dataThe complete response from the Twitch Followed Streams API.
stream_countThe number of streams retrieved.
stream#The name of the stream. Replace # with a number, starting at 1 and ending at stream_count.
id#The user id (login) of the stream. Replace # with a number, starting at 1 and ending at stream_count.
game#The game of the stream. Replace # with a number, starting at 1 and ending at stream_count.

Twitch SubCount

InfoRetrieve the number of followers for the given channel.
FormatTwitch SubCount
ExampleTwitch SubCount
Parameters
dataThe complete response from the Twitch Broadcaster Subscriptions API.
sub_countThe total number of users that subscribe to this broadcaster.
sub_pointsThe current number of subscriber points earned by this broadcaster. Points are based on the subscription tier of each user. For example, a Tier 1 subscription is worth 1 point, Tier 2 is worth 2 points, and Tier 3 is worth 6 points.

Twitch Subscribers

InfoRestricts the broadcaster's chat room to subscribers only.
FormatTwitch Subscribers
ExampleTwitch Subscribers

Twitch SubscribersOff

InfoDisable subscriber only mode in the broadcaster's chat.
FormatTwitch SubscribersOff
ExampleTwitch SubscribersOff

Twitch Tags

InfoUpdate the channel-defined tags on the channel. <tag> is the tag to add. Up to 10 tags may be provided. Each tag is limited to a maximum of 25 characters and may not be an empty string or contain spaces or special characters. Tags are case insensitive.
FormatTwitch Tags <tag1> <tag2> ... <tag10>
ExampleTwitch Tags "Rocket League" "Champion" "Ranked"

Twitch Teams

InfoGets the list of Twitch teams that the broadcaster is a member of.
FormatTwitch Teams
ExampleTwitch Teams
Parameters
dataThe complete response from the Twitch Teams API.
team_countThe number of teams retrieved.
team#The name of the team. Replace # with a number, starting at 1 and ending at team_count.

Twitch Timeout

InfoTimeout a user from the chat room. <user> is the Twitch user to ban. <optional_duration> is an optional input with the number of seconds for a timeout (the default is 1). The minimum timeout is 1 second and the maximum is 1,209,600 seconds (2 weeks). <optional_reason> is text to define the reason for the timeout.
FormatTwitch Timeout <user> <optional_duration> <optional_reason>
ExampleTwitch Timeout testUser
Example w/ DurationTwitch Timeout testUser 1
Example w/ Duration and ReasonTwitch Timeout testUser 1209600 "Inappropriate behavior, come back in two weeks!"

Twitch Title

InfoUpdates a channel's title. <title> is the title to set for the channel.
FormatTwitch Title <title>
ExampleTwitch Title "Rocket League with viewers!"

Twitch Unban

InfoUnban a user from the specified broadcaster's chat room. <user> is the Twitch user to unban.
FormatTwitch Unban <user>
ExampleTwitch Unban testUser

Twitch Unblock

InfoUnblock the specified user from interacting with or having contact with the broadcaster. <user> is the Twitch user to unblock.
FormatTwitch Unblock <user>
ExampleTwitch Unblock testUser

Twitch UniqueChat

InfoRestricts the broadcaster's chat room to require users to post only unique messages in the chat room.
FormatTwitch UniqueChat
ExampleTwitch UniqueChat

Twitch UniqueChatOff

InfoDisable unique chat mode in the broadcaster's chat.
FormatTwitch UniqueChatOff
ExampleTwitch UniqueChatOff

Twitch Unmod

InfoRemove moderator status from a user in the broadcaster's chat room. <user> is the Twitch user to update.
FormatTwitch Unmod <user>
ExampleTwitch Unmod testUser

Twitch Unpin

InfoUnpin a message in the broadcaster's twitch chat. <message_id> is the id of the message to unpin.
FormatTwitch Unpin <message_id>
ExampleTwitch Unpin {message_id}

Twitch Unraid

InfoCancel a pending raid in the broadcaster's chat room. You can cancel a raid at any point up until the broadcaster clicks Raid Now on Twitch or the 90-second countdown expires.
FormatTwitch Unraid
ExampleTwitch Unraid

Twitch UnVIP

InfoRemove VIP status from a user in the broadcaster's chat room. <user> is the Twitch user to update.
FormatTwitch UnVIP <user>
ExampleTwitch UnVIP testUser

Twitch User

InfoRetrieves user data for the provided channel. <optional_user> is the channel name to retrieve. If no user is provided, the broadcaster information retrieved.
FormatTwitch User <optional_user>
ExampleTwitch User
Example w/ UserTwitch User Kruiser8
Parameters
dataThe complete response from the Twitch User API.
userThe user's display name.
descriptionThe user's channel description.
profile_imageThe URL to the user's profile image.

Twitch UserColor

InfoRetrieves the color used for the user's name in chat. <user> is the name of the username to retrieve the chat color.
FormatTwitch UserColor <user>
ExampleTwitch UserColor Kruiser8
Parameters
dataThe complete response from the Twitch User Chat Color API.
colorThe Hex color code that the user uses in chat for their name. If the user hasn't specified a color in their settings, the string is empty.
nameThe user's display name.

Twitch Videos

InfoGets information about one or more published videos. <optional_type> is the type of videos to return. The possible types are archive (VODS), highlight, upload, or all (default). <optional_period> is a filter used to filter the list of videos by when they were published. Possible periods are day, week, month, and all (default). <optional_sort> is the order to sort the returned videos in. Possible sort values are time (default: created, latest first), trending (biggest gain in viewership), or views.
FormatTwitch Videos <optional_type> <optional_period> <optional_sort>
ExampleTwitch Videos
Example w/ TypeTwitch Videos Upload
Example w/ Type and PeriodTwitch Videos Archive month
Example w/ Type, Period, and SortTwitch Videos Highlight all views
Parameters
dataThe complete response from the Twitch Videos API.
video_countThe number of users retrieved on the leaderboard.
title#The title of the video. Replace # with a number, starting at 1 and ending at video_count.
description#The description of the video. Replace # with a number, starting at 1 and ending at video_count.
url#The url of the video. Replace # with a number, starting at 1 and ending at video_count.

Twitch VIP

InfoAdds a VIP to the broadcaster's chat room. <user> is the Twitch user to give VIP status.
FormatTwitch VIP <user>
ExampleTwitch VIP testUser

Twitch VIPs

InfoGets the broadcaster's list of VIPs.
FormatTwitch VIPs
ExampleTwitch VIPs
Parameters
dataThe complete response from the Twitch Moderators API.
vip_countThe number of moderators retrieved.
vip#The name of the VIP. Replace # with a number, starting at 1 and ending at vip_count.
id#The user id (login) of the VIP. Replace # with a number, starting at 1 and ending at vip_count.

Twitch Warn

InfoWarns a user in the broadcaster’s chat room, preventing them from chat interaction until the warning is acknowledged. <user> is the Twitch user to warn. <reason> is text to define the reason for the warning..
FormatTwitch Warn <user> <reason>
ExampleTwitch Warn testUser "This channel does not tolerate that type of language. This is your only warning."

Variable

Enables the ability to set and load variables per session or across sessions (globally). That is, global variables persist even if you close the overlay.

Global variables have been updated to allow more data to be stored. However, please be aware of how much data you're storing.

Variable Triggers

None at the moment.


Variable Actions

Variable Load

InfoUsed to load a previously set variable during the current session. <name> is the name assigned to the value.
FormatVariable Load <name>
ExampleVariable Load Recent_Sub
Parameters
<name>The variable value where <name> is the name of the variable.

Note: The above example, Variable Load Recent_Sub, would return the parameter Recent_Sub.


Variable Remove

InfoUsed to delete a previously set variable during the current session. <name> is the name assigned to the value.
FormatVariable Remove <name>
ExampleVariable Remove Recent_Sub

Variable Set

InfoUsed to set a variable during the current session. <name> is the name assigned to the value. <value> is the variable value.
FormatVariable Set <name> <value>
ExampleVariable Set Recent_Sub Kruiser8
Parameters
<name>The variable value where <name> is the name of the variable.

Note: The above example, Variable Set Recent_Sub Kruiser8, would return the parameter Recent_Sub.


Variable Global Clear

InfoUsed to clear all previously set global variables.
FormatVariable Global Clear
ExampleVariable Global Clear

Variable Global Load

InfoUsed to load a previously set global variable. Global variables persist even when the browser is closed. <name> is the name assigned to the value.
FormatVariable Global Load <name>
ExampleVariable Global Load Recent_Sub
Parameters
<name>The variable value where <name> is the name of the variable.

Note: The above example, Variable Global Load Recent_Sub, would return the parameter Recent_Sub.


Variable Global Remove

InfoUsed to remove a previously set global variable. <name> is the name assigned to the value.
FormatVariable Global Remove <name>
ExampleVariable Global Remove Recent_Sub

Variable Global Set

InfoUsed to set a global variable. Global variables persist even when the browser is closed. <name> is the name assigned to the value. <value> is the variable value.
FormatVariable Global Set <name> <value>
ExampleVariable Global Set Recent_Sub Kruiser8
Parameters
<name>The variable value where <name> is the name of the variable.

Note: The above example, Variable Global Set Recent_Sub Kruiser8, would return the parameter Recent_Sub.


Voicemod

Enables the ability to interact with Voicemod, a real-time voice changer and soundboard.

Voicemod Triggers

None at the moment.


Voicemod Actions

Voicemod Background

InfoUsed to alter whether or not Voicemod background effects are enabled. <on/off/toggle> determines whether the background effect is turned on, off, or toggled.
FormatVoicemod Background <on/off/toggle>
ExampleVoicemod Background on

Voicemod Beep

InfoUsed to trigger the censor bleep for a period of time. <optional_duration> is the number of seconds to play the censor noise. If no duration is provided, the bleep is played for 1 second.
FormatVoicemod Beep <optional_duration>
ExampleVoicemod Beep
Example w/ durationVoicemod Beep 3

Voicemod Hear

InfoUsed to alter whether or not the Voicemod hear myself setting is enabled. <on/off/toggle> determines whether the Voicemod hear myself setting is turned on, off, or toggled.
FormatVoicemod Hear <on/off/toggle>
ExampleVoicemod Hear on

Voicemod Mute

InfoUsed to mute yourself through Voicemod. <on/off/toggle> determines whether the Voicemod mute is turned on, off, or toggled.
FormatVoicemod Mute <on/off/toggle>
ExampleVoicemod Mute on

Voicemod Play

InfoUsed to play a sound from a Voicemod soundboard. <soundboard> is the name of the soundboard in Voicemod. <sound> is the name of the sound to play.
FormatVoicemod Play <soundboard> <sound>
ExampleVoicemod Play Prankster "Sad Trombone"

Voicemod Random

InfoUsed to select a random voice in Voicemod. <optional_type> is the type of random voice to choose. If no <optional_type> is provided, the random voice is selected from all available voices. If <optional_type> is favorite or custom, then only a favorite or custom voice in Voicemod will be randomly selected.
FormatVoicemod Random <optional_type>
ExampleVoicemod Random
Example w/ TypeVoicemod Random favorite

Voicemod Stop

InfoUsed to stop all sounds from the Voicemod soundboard.
FormatVoicemod Stop
ExampleVoicemod Stop

Voicemod Voice

InfoUsed to select a voice in Voicemod. <voice> is the name of the voice to select.
FormatVoicemod Voice <voice>
ExampleVoicemod Voice Chipmunk

Voicemod VoiceChanger

InfoUsed to alter whether or not the Voicemod voice changer setting is enabled. <on/off/toggle> determines whether the Voicemod voice changer setting is turned on, off, or toggled.
FormatVoicemod VoiceChanger <on/off/toggle>
ExampleVoicemod VoiceChanger on