This script allows you to program automatisms related to all available Addons.
It is possible to react to a Twitch message, or even when changing the OBS Studio scene, but I let you discover all this via the following blocks.

Presentation

Here we will discuss the different possibilities and how to use a block.
Some details:

Header

The Toggle Blocks button shows and hides the blocks you can use by swiping in the current module.
The drop-down list gives access to the different modules that you can via the following icons, create, import, and export.
The gear allows you to activate, deactivate, rename or delete a module.

ID / Title

The upper part of a block includes an icon, its title, as well as an arrow which opens a contextual menu providing access to various options.
By hovering over the title, a tooltip appears indicating the identifier of the block (reusable in some blocks), as well as its section followed by its title.
Here are the available options:

Hidden elements

Some parts of the blocks are hidden so that the block is as small as possible.
Click on the eye to show or hide these settings again.

Connections

The connections are made between the outputs and the inputs of the blocks and only in this direction.
Three types of blocks are available:

Some details:

Variables

Blocks have many of their own variables that you can use in many ways.
But the following variables are available for all blocks:

*: This star symbolizes that the input box supports variables (e.g. ${twitch:user:display} for the variable twitch:user:display, the characters before and after are important).

Blocks

Functionality

App Status Audio Play Audio Stop Cooldown Download File File Read File Write HTTP Request Keyboard Shortcut Kill App Launch App Notification Open URL Scripts Manager Launch Self-Timer Socket Request Toggle Block USB Detection Variable Condition Variable Increment Variable Remove Variable Setter WebSocket Request

App Status

Checks every 5 seconds if an application has started or stopped.

Application: by clicking on the ellipsis, a dialog box will open asking for the targeted program.
State:
  • Launch: when the application is launched.
  • Closing: when the application has stopped.

This block returns the following variables:
  • app-status:id (scope: Next, type: Number): identifier of the detected process.
  • app-status:name (scope: Next, type: String): name of the detected process (without the program extension).
  • app-status:path (scope: Next, type: String): application file path.
  • app-status:lanched (scope: Next, type: Boolean): whether the application has just started or stopped.

Audio Play

Play media files of your choice.

File: by clicking on the ellipsis, a dialog box will open asking you for the audio file to play.
Volume: adjusts the volume of the sound in percentage.
Device: specifies the device on which the file must be read (leaving empty, it will be output on the default device).

Audio Stop

Stops playing all current sounds, played by the Audio Play block.

Cooldown

Uses the variable system to prevent the activation of the following blocks as long as the delay between two activations is not respected.

Variable name: a variable name is automatically generated, but you can choose a more convenient name.
Time: minimum delay before letting the action pass to the next block.

Download File

Download a file from the internet.

URL *: internet address of the file to download.
File name *: filename once uploaded (extension included, e.g. photo.png).
Folder: * folder in which to drop the file.

File Read

Reads a file in text format in utf-8.

File *: by clicking on the ellipsis, a dialog box will open asking you for the file to read.

This block returns the following variables:
  • file-read:all (scope: Next, type: String): all the content of the file.
  • file-read:count (scope: Next, type: Number): number of lines present in the file (count the empty line at the end of the file if there is one).
  • file-read:line[i] (scope: Next, type: String): Contents of the line number i (starts at 0).

File Write

Writes a file in text format in utf-8.

File *: by clicking on the ellipsis, a dialog box will open asking you for the file to create or modify.
Content *: text to put in the file.
Separator: make a new line before putting the requested content.
Add at the end: add the requested content at the end of the file (do not overwrite lines already present).

HTTP Request

Send a request (like a web browser) to the given address.

URL *: the internet address to which to make the request.
Method: the method can have several values such as GET, POST, PUT, DELETE, and many others.

This block returns the following variables:
  • http-request:status (scope: Next, type: Number): the HTTP code returned by the targeted site (e.g. 404).
  • http-request:body (scope: Next, type: String): the data returned by the site in question (often in HTML or JSON format).

Keyboard Shortcut

Reacts to the keyboard shortcut you choose.

Keys: click on the cross on the right then press the keys of the desired keyboard (to validate the modification, deselect the block).

This block returns the following variables:
  • keyboard-shortcut:name (scope: Next, type: String): name of the keys composing the shortcut.
  • keyboard-shortcut:code (scope: Next, type: Nombre): number representing the keys.
  • keyboard-shortcut:virtual (scope: Next, type: Nombre): number representing keys that are not alphanumeric.
  • keyboard-shortcut:state (scope: Next, type: Nombre): down on press, up on release.

Kill App

Closes the selected program (forced close).

Application: by clicking on the ellipsis, a dialog box will open asking for the program to close.
Kill children: will also close all processes that were created by the chosen program.

Launch App

Launches the selected program.

Application: by clicking on the ellipsis, a dialog box will open asking for the program to launch.

Notification

Opens a small notification box at the bottom right of the screen.

Title *: bold text noted above the message (leaving empty, it will be replaced by Scripts Manager).
Message *: it indicates the intention of the notification (e.g. Launch of the current stream...).
Icon: by clicking on the ellipsis, a dialog box will open asking for the icon to be displayed to the left of the title and message (leaving empty, it will be replaced by the Scripts Manager icon).

This block receives the following variables:
  • notification:icon (type: String): replaces notification icon if not set.

Open URL

Opens the requested web address directly in the default browser.

Address *: address of the web page to open in the browser.

Scripts Manager Launch

Activated only when launching Scripts Manager.
It can be used for example to launch an infinite loop (if the program is already launched, use the Test option to launch the action once).

Self-Timer

Ideal for waiting before doing an action.
Often used in parallel with another action (e.g. displaying a Twitch source and in parallel waiting 5 seconds then hiding the source).

Socket Request

Sending data to a socket server.

IPv4 *: IP address of the server receiving the request.
Port: the port is a number which also makes it possible to deduce where to send the request (depending on the server in question).
Data *: written data is sent as is.

Toggle Block


Reacts like or depending on the Enable option.

Block ID: the identifier of the block which is going to be or to activate/deactivate (it can be found by hovering over the title of the blocks).
State:
  • On: reacts when activated for green block or active for orange block.
  • Both: reacts as much to activation as to deactivation.
  • Toggle: if the state is On, it will change to Off, and vice versa.
  • Off: reacts when deactivated for green block or deactivated for orange block.

USB Detection

Detects the connection as well as the disconnection of a USB peripheral.

Device: peripheral name to wait for (if left blank, will wait for all peripheral).
State:
  • Connection: when connecting a peripheral.
  • Disconnection: when disconnecting a peripheral.

This block returns the following variables:
  • usb-detection:name (scope: Next, type: String): peripheral name given by the manufacturer.
  • usb-detection:manufacturer (scope: Next, type: String): name of the manufacturer of this peripheral.
  • usb-detection:serial (scope: Next, type: String): serial number, if there is one.
  • usb-detection:connected (scope: Next, type: Boolean): whether the device is connected or disconnected.

Variable Condition

Prevents going to the next action if the configured terms are not respected (take the variable of the first scope that is available: Next, then Local, and finally Global).

Value 1 *: the input value to compare.
Condition: the condition depends on the type of variable, by choosing Equal, Value 1 must be identical to Value 2 to activate the following connected blocks.
Value 2 *: will be compared to Value 1 depending on the Condition you choose.
Variable type:
  • String: is just a text.
  • Number: only accepts a number.
  • Boolean: is like a switch (on or off represented by true and false respectively).

Variable Increment

Adds or removes the chosen number to the variable (consider the variable at 0 if it is not defined).
Can be used to count for example the number of Twitch messages received.

Variable name: name of the numeric variable that will be incremented or decremented.
Increment: number to add or subtract from the variable.
Scope:
  • Global: will make the variable available for all Multi Actions.
  • Local: will only be accessible for the module where the block is located.
  • Next: will give the variable to the blocks connected at the output of this block.

Variable Remove

Deletes a variable in the chosen scope.

Variable name: name of the variable that will be deleted.
Scope:
  • Global: will make the variable available for all Multi Actions.
  • Local: will only be accessible for the module where the block is located.
  • Next: will give the variable to the blocks connected at the output of this block.

Variable Replace

Replaces a term contained one or more times in the given value.

Variable name: name of the variable that will receive the modification.
Value *: the input value in which to search.
Search *: the search term in Value which will be replaced.
Replace *: term by which Search will be replaced.
Replace all: replaces all terms found (if unchecked, only replaces the first one found).
Scope:
  • Global: will make the variable available for all Multi Actions.
  • Local: will only be accessible for the module where the block is located.
  • Next: will give the variable to the blocks connected at the output of this block.

Variable Setter

Gives the value given to a variable by specifying its scope.

Variable name: name of the variable that will receive the value.
Value *: the input value that will be stored in the variable.
Variable type:
  • String: is just a text.
  • Number: only accepts a number.
  • Boolean: is like a switch (on or off represented by true and false respectively).
Scope:
  • Global: will make the variable available for all Multi Actions.
  • Local: will only be accessible for the module where the block is located.
  • Next: will give the variable to the blocks connected at the output of this block.

Websocket Request

Sending data to a websocket server.

URL *: address often including the communication port to the server.
Data *: written data is sent as is.

Discord

Webhook Embed Webhook Message

Discord - Webhook Embed

Allows you to send a block message in a Discord channel.
You must first go to the settings of the channel in question in Integrations > Create a webhooks.
All you have to do is Copy the webhook URL of the bot you just created, and enter it in the appropriate field of the block.

Title *: published title.
URL *: click redirect address.
Thumbnail: small image in the upper right corner.
Big Image: large image placed below the block information.
Webhook: URL retrieved from Discord room settings.
Message *: placed above the block (can contain @everyone if needed).
Inline 1 *: title and text of the first column of information.
Inline 2 *: title and text of the second column of information.

This block returns the following variables:
  • discord:webhook:id (scope: Next, type: String): id of the message sent or edited.
  • discord:webhook:create:date and discord:webhook:create:time: date of creation of the message (refer to date and time variables which are presented in the same way).
  • discord:webhook:edit:date and discord:webhook:edit:time: date of edition of the message (refer to date and time variables which are presented in the same way).
  • discord:webhook:content (scope: Next, type: String): message content.
  • discord:webhook:channel:id (scope: Next, type: String): id of the channel where the message is.
  • discord:webhook:author:id (scope: Next, type: String): id of message author (that of the webhook in this case).
  • discord:webhook:author:username (scope: Next, type: String): name of message author (that of the webhook in this case).
  • discord:webhook:author:avatar (scope: Next, type: String): image address or empty string.
  • discord:webhook:mention:everyone (scope: Next, type: Boolean): if the message mentioned all users of the server.
  • discord:webhook:embeds:count (scope: Next, type: Number): number of message blocks present in this message.
  • discord:webhook:embed[i]:url (scope: Next, type: String): address opened on click on message block number i or empty string.
  • discord:webhook:embed[i]:title (scope: Next, type: String): message block title number i.
  • discord:webhook:embed[i]:image (scope: Next, type: Texte): large image present in message block number i or empty string.
  • discord:webhook:embed[i]:thumbnail (scope: Next, type: Texte): small image present in the upper right corner of the message block number i or empty string.
  • discord:webhook:embed[i]:fields:count (scope: Next, type: Number): number of fields present in message block number i.
  • discord:webhook:embed[i]:field[j]:inline (scope: Next, type: Boolean): if the number field i is inline (true in this case).
  • discord:webhook:embed[i]:field[j]:name (scope: Next, type: String): field name number i (column title in this case).
  • discord:webhook:embed[i]:field[j]:value (scope: Next, type: String): number field text i (column text in this case).

This block receives the following variables:
  • discord:webhook:id (type: String): id of the message to be edited.
  • discord:thumbnail (type: String): replace message thumbnail if not set.
  • discord:big-image (type: String): replaces the large message image if not set.

Discord - Webhook Message

Allows you to send a message in a Discord channel.
You must first go to the settings of the channel in question in Integrations > Create a webhooks.
All you have to do is Copy the webhook URL of the bot you just created, and enter it in the appropriate field of the block.

Webhook: URL retrieved from Discord channel settings.
Message *: message published on the webhook channel (can contain @everyone if needed).

This block returns the following variables:
  • discord:webhook:id (scope: Next, type: String): id of the message sent or edited.
  • discord:webhook:create:date and discord:webhook:create:time: date of creation of the message (refer to date and time variables which are presented in the same way).
  • discord:webhook:edit:date and discord:webhook:edit:time: date of edition of the message (refer to date and time variables which are presented in the same way).
  • discord:webhook:content (scope: Next, type: String): message content.
  • discord:webhook:channel:id (scope: Next, type: String): id of the channel where the message is.
  • discord:webhook:author:id (scope: Next, type: String): id of message author (that of the webhook in this case).
  • discord:webhook:author:username (scope: Next, type: String): name of message author (that of the webhook in this case).
  • discord:webhook:author:avatar (scope: Next, type: String): image address or empty string.
  • discord:webhook:mention:everyone (scope: Next, type: Boolean): if the message mentioned all users of the server.
  • discord:webhook:embeds:count (scope: Next, type: Number): number of message blocks present in this message (0 in this case).

This block receives the following variables:
  • discord:webhook:id (type: String): id of the message to be edited.

OBS Studio

Connection Exit Lock Source Recording Replay Save Replay Set Text Source Selected Streaming Switch Scene Toggle Filter Toggle Source Virtual Camera

OBS Studio - Connection

When attempting to connect or disconnect from OBS Studio.

State:
  • Opened: when connecting to the websocket.
  • Closed: when disconnecting the websocket.

This block returns the following variables:
  • obs-studio:connection (scope: Global, type: Boolean): allows to know if OBS Studio is connected to Scripts Manager.

OBS Studio - Exit

Specifies that OBS Studio has been closed.

OBS Studio - Lock Source


When a source is locked or unlocked (small padlock) in the list of sources in OBS Studio.

Scene name: list all existing scenes (if left blank, reacts for everyone).
Source name: list all existing sources (if left blank, reacts for everyone).
State:
  • On: reacts when activated for green block or active for orange block.
  • Toggle: if the state is On, it will change to Off, and vice versa.
  • Off: reacts when deactivated for green block or deactivated for orange block.

This block returns the following variables:
  • obs-studio:lock-source:id (scope: Next, type: Number): source id locked or unlocked.
  • obs-studio:lock-source:name (scope: Next, type: String): source name locked or unlocked.
  • obs-studio:lock-source:locked (scope: Next, type: Boolean): whether the source is locked or unlocked.

OBS Studio - Recording


When recording starts or stops, or to choose what to do.

State:
  • On: reacts when activated for green block or active for orange block.
  • Both: reacts as much to activation as to deactivation.
  • Toggle: if the state is On, it will change to Off, and vice versa.
  • Off: reacts when deactivated for green block or deactivated for orange block.

This block returns the following variables:
  • obs-studio:recording (scope: Global, type: Boolean): allows you to know if a recording is in progress or not.

OBS Studio - Replay


When replay starts or stops, or to choose what to do.

State:
  • On: reacts when activated for green block or active for orange block.
  • Both: reacts as much to activation as to deactivation.
  • Toggle: if the state is On, it will change to Off, and vice versa.
  • Off: reacts when deactivated for green block or deactivated for orange block.

This block returns the following variables:
  • obs-studio:replay (scope: Global, type: Boolean): allows you to know if a replay is in progress or not.

OBS Studio - Save Replay


When the recording is saved or to save it.

OBS Studio - Set Browser

Changes the web address to display on the source.

Source name: list all existing browser sources.
URL *: internet address to display.

OBS Studio - Set Image

Changes the image to display on the source.

Source name: list all existing image sources.
File *: by clicking on the ellipsis, a dialog box will open asking you for the image to display.

OBS Studio - Set Media

Changes the media to display on the source.

Source name: list all existing media sources (mainly videos).
File *: by clicking on the ellipsis, a dialog box will open asking you for the media to display.

OBS Studio - Set Text

Changes the content of a text source.

Source name: list all existing text sources.
Text *: the input value to put in the source.

OBS Studio - Source Selected

When a source is selected in the source list of OBS Studio.

Scene name: list all existing scenes (if left blank, reacts for everyone).
Source name: list all existing sources (if left blank, reacts for everyone).

This block returns the following variables:
  • obs-studio:source-selected:id (scope: Next, type: Number): identifier of the selected source.
  • obs-studio:source-selected:name (scope: Next, type: String): selected source name.

OBS Studio - Streaming


When streaming starts or stops, or to choose what to do.

State:
  • On: reacts when activated for green block or active for orange block.
  • Both: reacts as much to activation as to deactivation.
  • Toggle: if the state is On, it will change to Off, and vice versa.
  • Off: reacts when deactivated for green block or deactivated for orange block.

This block returns the following variables:
  • obs-studio:streaming (scope: Global, type: Boolean): allows you to know if a streaming is in progress or not.

OBS Studio - Switch Scene


When changing scene or to change scene (green block reacts to all changes if no scene is selected).

Scene name: list all existing scenes (if left blank, reacts for everyone).

This block returns the following variables:
  • obs-studio:switch-scene (scope: Global, type: String): gives the name of the currently displayed scene.

OBS Studio - Toggle Filter


When the filter of a source is activated or deactivated (small eye) in the list of filters of this source on OBS Studio.

Source name: list all existing sources (if left blank, reacts for everyone).
Filter name: lists the filters present on the selected source (if left blank, reacts for everyone).
State:
  • Show: reacts when activated for green block or active for orange block.
  • Toggle: if the state is Show, it will change to Hide, and vice versa.
  • Hide: reacts when deactivated for green block or deactivated for orange block.

This block returns the following variables:
  • obs-studio:toggle-filter:name (scope: Next, type: String): filter name.
  • obs-studio:toggle-filter:source (scope: Next, type: String): source name of this filter.
  • obs-studio:toggle-filter:enabled (scope: Next, type: Boolean): if the filter is activated or deactivated.

OBS Studio - Toggle Source


When a source is enabled or disabled (little eye) in the source list of OBS Studio.

Scene name: list all existing scenes (if left blank, reacts for everyone).
Source name: list all existing sources (if left blank, reacts for everyone).
State:
  • Show: reacts when activated for green block or active for orange block.
  • Toggle: if the state is Show, it will change to Hide, and vice versa.
  • Hide: reacts when deactivated for green block or deactivated for orange block.

This block returns the following variables:
  • obs-studio:toggle-source:id (scope: Next, type: Number): source id.
  • obs-studio:toggle-source:name (scope: Next, type: String): source name.
  • obs-studio:toggle-source:scene (scope: Next, type: String): name of the scene where the source is located.
  • obs-studio:toggle-source:enabled (scope: Next, type: Boolean): whether the source is activated or deactivated.

OBS Studio - Virtual Camera


When the virtual camera is enabled or disabled.

State:
  • Start: reacts when activated for green block or active for orange block.
  • Toggle: if the state is Start, it will change to Stop, and vice versa.
  • Stop: reacts when deactivated for green block or deactivated for orange block.

This block returns the following variables:
  • obs-studio:virtualcam (scope: Global, type: Boolean): allows you to know if the virtual camera is in progress or not.

Spotify

Add To Queue Current Queue Currently Playing Play/Pause Prev/Next Repeat Search Shuffle Volume

Spotify - Add To Queue

Adds the first track found to the play queue.

Track *: specifies the song/music to add to the list.

This block receives the following variables:
  • spotify:search[0]:uri (type: String): add the track (returned by other Spotify blocks) to the queue.

Spotify - Current Queue

Retrieves information of all track present in the play queue.

This block returns the following variables:
    • spotify:current:count (scope: Next, type: Number): number of track in the queue.
    • spotify:current[i]:name (scope: Next, type: String): track name number i (starts at 0).
    • spotify:current[i]:type (scope: Next, type: String): type of the result number i which is for this there track.
    • spotify:current[i]:uri (scope: Next, type: String): spotify-specific string (representing the result) of track number i.
    • spotify:current[i]:link (scope: Next, type: String): web page address of track number i.
    • spotify:current[i]:image (scope: Next, type: String): cover of track number i.
    • spotify:current[i]:duration (scope: Next, type: Number): duration in milliseconds of track number i.
    • spotify:current[i]:artist[j]:name (scope: Next, type: String): name of artist number j of track number i.
    • spotify:current[i]:artist[j]:uri (scope: Next, type: String): spotify-specific string (representing the result) of artist number j of track number i.
    • spotify:current[i]:artist[j]:link (scope: Next, type: String): web page address of artist number j of track number i.
    • spotify:current[i]:artists:name (scope: Next, type: String): name of artists (separated by a comma) of track number i.
    • spotify:current[i]:artists:count (scope: Next, type: Number): number of artists of track number i.

Spotify - Currently Playing

Retrieves the information of the track currently playing.

This block returns the following variables:
    • spotify:current:count (scope: Next, type: Number): number of track (0 if no track is playing).
    • spotify:current[0]:name (scope: Next, type: String): track name (starts at 0).
    • spotify:current[0]:type (scope: Next, type: String): type of the result which is for this there track.
    • spotify:current[0]:uri (scope: Next, type: String): spotify-specific string (representing the result) of track.
    • spotify:current[0]:link (scope: Next, type: String): web page address of track.
    • spotify:current[0]:image (scope: Next, type: String): cover of track.
    • spotify:current[0]:duration (scope: Next, type: Number): duration in milliseconds of track.
    • spotify:current[0]:artist[j]:name (scope: Next, type: String): name of artist number j of track.
    • spotify:current[0]:artist[j]:uri (scope: Next, type: String): spotify-specific string (representing the result) of artist number j of track.
    • spotify:current[0]:artist[j]:link (scope: Next, type: String): web page address of artist number j of track.
    • spotify:current[0]:artists:name (scope: Next, type: String): name of artists (separated by a comma) of track.
    • spotify:current[0]:artists:count (scope: Next, type: Number): number of artists of track.

Spotify - Play/Pause

Play a title, play the current title, or pause.

Track *: specifies the song/music to play (leaving empty, just do the action below).
State:
  • Play: plays, and launches the track if specified.
  • Toggle: if the state is Play, it will change to Pause, and vice versa.
  • Pause: pauses the current listening.

This block receives the following variables:
  • spotify:search[0]:uri (type: String): add the track (returned by other Spotify blocks) to the queue.

Spotify - Prev/Next

Skips to the next track, or back to the previous one.
State:
  • Prev: back to the previous one.
  • Next: skips to the next track.

Spotify - Repeat

Changes the repeat mode of tracks.
State:
  • Off: turn off repeat.
  • Track: repeats the currently playing track.
  • Context: repeats the playlist currently playing.

Spotify - Search

Look for the tracks you are looking for.

Track *: specifies the song/music to search for.

This block returns the following variables:
  • spotify:search:count (scope: Next, type: Number): number of results returned by the search.
  • spotify:search[i]:name (scope: Next, type: String): track name number i (starts at 0).
  • spotify:search[i]:type (scope: Next, type: String): type of the result number i which is for this there track.
  • spotify:search[i]:uri (scope: Next, type: String): spotify-specific string (representing the result) of track number i.
  • spotify:search[i]:link (scope: Next, type: String): web page address of track number i.
  • spotify:search[i]:image (scope: Next, type: String): cover of track number i.
  • spotify:search[i]:duration (scope: Next, type: Number): duration in milliseconds of track number i.
  • spotify:search[i]:artist[j]:name (scope: Next, type: String): name of artist number j of track number i.
  • spotify:search[i]:artist[j]:uri (scope: Next, type: String): spotify-specific string (representing the result) of artist number j of track number i.
  • spotify:search[i]:artist[j]:link (scope: Next, type: String): web page address of artist number j of track number i.
  • spotify:search[i]:artists:name (scope: Next, type: String): name of artists (separated by a comma) of track number i.
  • spotify:search[i]:artists:count (scope: Next, type: Number): number of artists of track number i.

Spotify - Shuffle

Enables or disables shuffle track mode.

State:
  • On: activate shuffle mode.
  • Toggle: if the state is On, it will change to Off, and vice versa.
  • Off: deactivate shuffle mode.

Spotify - Volume

Changes the volume of the player that is currently playing.

Volume: the volume to apply in percentage.

Stream Deck / Touch Portal

Action

Stream Deck / Touch Portal - Action

Is operated by a button on the Stream Deck or your Touch Portal app.

Block ID: identifier of the current block to enter in the parameters of the Multi Actions: Button button.

Twitch

Action Announce Ban Chat Clear Cheer Command Community Pay Forward Community Sub Delete Message Emote Only First Message Followers Only Game Gift Paid Upgrade Info Message Message Delay Message Remove Prime Community Gift Prime Paid Upgrade Raid Raid Cancel Redemption Reward Gift Ritual Shoutout Slow Mode Standard Pay Forward Subscribe Subscribe Again Subscribe Extend Subscribe Gift Subscribers Only Timeout Unique Message Whisper

Twitch - Action


Corresponds to the /me command sent in the chat.

Message *: message sent for orange block, or message received from a user for green block (if left blank, reacts to all messages).
Account: type of account to use for this action (if Bot account is not configured, Broadcaster account will be used).
Case sensitive: must have the same upper and lower case if the box is checked, otherwise GooD and good are considered identical.
Contains sentence: the word can be anywhere in the message if the box is checked, otherwise the message must be exactly as entered.
Type of viewer: check the boxes corresponding to the types of viewers who can operate the block.

This block returns the following variables:
  • twitch:message (scope: Next, type: String): message sent by the user on the chat.
  • twitch:message:id (scope: Next, type: String): identifier of the received message.
  • twitch:message:date and twitch:message:time: date of receipt of the action (refer to date and time variables which are presented in the same way).
  • twitch:message:type (scope: Next, type: String): returns Action in this case.
  • twitch:user:id (scope: Next, type: String): unique user identifier.
  • twitch:user:type (scope: Next, type: String): the type of the user (possible values are undefined, 'mod', 'global_mod', 'admin' and 'staff').
  • twitch:user:name (scope: Next, type: String): lowercase username.
  • twitch:user:display (scope: Next, type: String): user name including the capitals chosen by the user.
  • twitch:user:color (scope: Next, type: String): username color displayed in chat.
  • twitch:flags:broadcaster (scope: Next, type: Boolean): if the message comes from the streamer (the one who owns the chain, so you).
  • twitch:flags:founder (scope: Next, type: Boolean): the first participants in the chain once the affiliation is activated.
  • twitch:flags:moderator (scope: Next, type: Boolean): if the message comes from a channel moderator.
  • twitch:flags:subscriber (scope: Next, type: Boolean): if the user is currently subscribed to the channel.
  • twitch:flags:vip (scope: Next, type: Boolean): if you have given the role of VIP to this user.
  • twitch:flags:follower (scope: Next, type: Boolean): lets you know if the user is following the channel.

Twitch - Announce


Highlighted announcements in chat.

Message *: message sent for orange block, or message received from a user for green block (if left blank, reacts to all messages).
Color: some announce colors are available, Primary being neutral.
Account: type of account to use for this action (if Bot account is not configured, Broadcaster account will be used).
Case sensitive: must have the same upper and lower case if the box is checked, otherwise GooD and good are considered identical.
Contains sentence: the word can be anywhere in the message if the box is checked, otherwise the message must be exactly as entered.
Type of viewer: check the boxes corresponding to the types of viewers who can operate the block.

This block returns the following variables:
  • twitch:message (scope: Next, type: String): message sent by the user on the chat.
  • twitch:message:id (scope: Next, type: String): identifier of the received message.
  • twitch:message:date and twitch:message:time: date of receipt of the announcement (refer to date and time variables which are presented in the same way).
  • twitch:message:type (scope: Next, type: String): returns Announce in this case.
  • twitch:user:id (scope: Next, type: String): unique user identifier.
  • twitch:user:type (scope: Next, type: String): the type of the user (possible values are undefined, 'mod', 'global_mod', 'admin' and 'staff').
  • twitch:user:name (scope: Next, type: String): lowercase username.
  • twitch:user:display (scope: Next, type: String): user name including the capitals chosen by the user.
  • twitch:user:color (scope: Next, type: String): username color displayed in chat.
  • twitch:flags:broadcaster (scope: Next, type: Boolean): if the message comes from the streamer (the one who owns the chain, so you).
  • twitch:flags:founder (scope: Next, type: Boolean): the first participants in the chain once the affiliation is activated.
  • twitch:flags:moderator (scope: Next, type: Boolean): if the message comes from a channel moderator.
  • twitch:flags:subscriber (scope: Next, type: Boolean): if the user is currently subscribed to the channel.
  • twitch:flags:vip (scope: Next, type: Boolean): if you have given the role of VIP to this user.
  • twitch:flags:follower (scope: Next, type: Boolean): lets you know if the user is following the channel.

Twitch - Ban


Reacts to ban a user or to ban one.

User *: targeted user.
Reason *: the reason why the ban took place.

This block returns the following variables:
  • twitch:ban:user:id (scope: Next, type: String): number representing the Twitch user (does not change on name change).
  • twitch:ban:user:name (scope: Next, type: String): username (like the one shown but all lowercase).
  • twitch:ban:user:display (scope: Next, type: String): username as displayed in chat.
  • twitch:ban:reason (scope: Next, type: String): the reason why the ban took place.
  • twitch:ban:start:date and twitch:ban:start:time: start date of the ban (refer to date and time variables which are presented in the same way).

Twitch - Chat Clear


Clear all chat messages or clear chat.

Twitch - Cheer

When bits are sent by a viewer.

This block returns the following variables:
  • twitch:cheer:bits (scope: Next, type: Number): number of bits received.
  • twitch:cheer:message (scope: Next, type: String): message including bit emotes.
  • twitch:cheer:anonymous (scope: Next, type: Boolean): whether the sending of bits is done anonymously.

Twitch - Command

When a command is written in the chat (a command is a keyword preceded by an exclamation mark).

Command: name of the command to capture, do not put the exclamation mark before (if left blank, reacts to all messages).
Type of viewer: check the boxes corresponding to the types of viewers who can operate the block.

This block returns the following variables:
  • twitch:command (scope: Next, type: String): command used (without the exclamation point).
  • twitch:command:arguments (scope: Next, type: String): the following words the name of the command.
  • twitch:command:argument[i] (scope: Next, type: String): each word following the command name separately (replace the i with a number starting with zero).
  • twitch:message:id (scope: Next, type: String): identifier of the received message.
  • twitch:message:date and twitch:message:time: date command received (refer to date and time variables which are presented in the same way).
  • twitch:message:type (scope: Next, type: String): returns Command in this case.
  • twitch:user:id (scope: Next, type: String): unique user identifier.
  • twitch:user:type (scope: Next, type: String): the type of the user (possible values are undefined, 'mod', 'global_mod', 'admin' and 'staff').
  • twitch:user:name (scope: Next, type: String): lowercase username.
  • twitch:user:display (scope: Next, type: String): user name including the capitals chosen by the user.
  • twitch:user:color (scope: Next, type: String): username color displayed in chat.
  • twitch:flags:broadcaster (scope: Next, type: Boolean): if the message comes from the streamer (the one who owns the chain, so you).
  • twitch:flags:founder (scope: Next, type: Boolean): the first participants in the chain once the affiliation is activated.
  • twitch:flags:moderator (scope: Next, type: Boolean): if the message comes from a channel moderator.
  • twitch:flags:subscriber (scope: Next, type: Boolean): if the user is currently subscribed to the channel.
  • twitch:flags:vip (scope: Next, type: Boolean): if you have given the role of VIP to this user.
  • twitch:flags:follower (scope: Next, type: Boolean): lets you know if the user is following the channel.

Twitch - Community Pay Forward

Fires when a user pays forward a subscription that was gifted to them to the community.

This block returns the following variables:
  • twitch:all:user:id and twitch:community-pay-forward:user:id (scope: Next, type: String): number representing the Twitch user (does not change on name change).
  • twitch:user:type (scope: Next, type: String): the type of the user (possible values are undefined, 'mod', 'global_mod', 'admin' and 'staff').
  • twitch:all:user:name and twitch:community-pay-forward:user:name (scope: Next, type: String): username (like the one shown but all lowercase).
  • twitch:all:user:display and twitch:community-pay-forward:user:display (scope: Next, type: String): username as displayed in chat.
  • twitch:user:color (scope: Next, type: String): username color displayed in chat.
  • twitch:flags:broadcaster (scope: Next, type: Boolean): if the message comes from the streamer (the one who owns the chain, so you).
  • twitch:flags:founder (scope: Next, type: Boolean): the first participants in the chain once the affiliation is activated.
  • twitch:flags:moderator (scope: Next, type: Boolean): if the message comes from a channel moderator.
  • twitch:flags:subscriber (scope: Next, type: Boolean): if the user is currently subscribed to the channel.
  • twitch:flags:vip (scope: Next, type: Boolean): if you have given the role of VIP to this user.
  • twitch:flags:follower (scope: Next, type: Boolean): lets you know if the user is following the channel.
  • twitch:community-pay-forward:original:id (scope: Next, type: String): the user ID of the original gifter.
  • twitch:community-pay-forward:original:name (scope: Next, type: String): the name of the original gifter.
  • twitch:community-pay-forward:original:display (scope: Next, type: String): the display name of the original gifter.

Twitch - Community Sub

Fires when a user gifts random subscriptions to the community of a channel.

This block returns the following variables:
  • twitch:all:user:id and twitch:community-sub:user:id (scope: Next, type: String): number representing the Twitch user (does not change on name change).
  • twitch:user:type (scope: Next, type: String): the type of the user (possible values are undefined, 'mod', 'global_mod', 'admin' and 'staff').
  • twitch:all:user:name and twitch:community-sub:user:name (scope: Next, type: String): username (like the one shown but all lowercase).
  • twitch:all:user:display and twitch:community-sub:user:display (scope: Next, type: String): username as displayed in chat.
  • twitch:user:color (scope: Next, type: String): username color displayed in chat.
  • twitch:flags:broadcaster (scope: Next, type: Boolean): if the message comes from the streamer (the one who owns the chain, so you).
  • twitch:flags:founder (scope: Next, type: Boolean): the first participants in the chain once the affiliation is activated.
  • twitch:flags:moderator (scope: Next, type: Boolean): if the message comes from a channel moderator.
  • twitch:flags:subscriber (scope: Next, type: Boolean): if the user is currently subscribed to the channel.
  • twitch:flags:vip (scope: Next, type: Boolean): if you have given the role of VIP to this user.
  • twitch:flags:follower (scope: Next, type: Boolean): lets you know if the user is following the channel.
  • twitch:community-sub:original:id (scope: Next, type: String): the user ID of the user that gifted the subscription(s).
  • twitch:community-sub:original:name (scope: Next, type: String): the name of the user that gifted the subscription(s).
  • twitch:community-sub:original:display (scope: Next, type: String): the display name of the user that gifted the subscription(s).
  • twitch:community-sub:count (scope: Next, type: Number): number of subscriptions offered.
  • twitch:community-sub:plan:id (scope: Next, type: String): the plan ID of the subscription(s).

Twitch - Delete Message

Allows you to delete a chat message.

Type:
  • All: delete all chat messages.
  • By variable: Will delete the message received by another Twitch block.

This block receives the following variables:
  • twitch:message-id (type: String): delete the message with its id (returned by other Twitch blocks).

Twitch - Emote Only


Make chat not accept anything other than emotes, or react when changing this option.

State:
  • On: activate emote only mode.
  • Both: reacts as much to activation as to deactivation.
  • Off: deactivate emote only mode.

This block returns the following variables:
  • twitch:emote-only:enabled (scope: Next, type: Boolean): whether the option is enabled or not.

Twitch - First Message

Know when the first message occurs after the launch of the live, or at the first message of each user.

Type:
  • Command: name of the command to capture, do not put the exclamation mark before (if left blank, reacts to all messages).
  • Message: message sent for orange block, or message received from a user for green block (if left blank, reacts to all messages).
Case sensitive (in message type): must have the same upper and lower case if the box is checked, otherwise GooD and good are considered identical.
Contains sentence (in message type): the word can be anywhere in the message if the box is checked, otherwise the message must be exactly as entered.
Type of viewer: check the boxes corresponding to the types of viewers who can operate the block.

This block returns the following variables:
  • twitch:users[i] (scope: Global, type: Array): checks for users who have already spoken (reset by setting the variable to false with the Variable Setter block).
  • twitch:message (scope: Next, type: String): message sent by the user on the chat.
  • twitch:message:id (scope: Next, type: String): identifier of the received message.
  • twitch:message:date and twitch:message:time: date message received (refer to date and time variables which are presented in the same way).
  • twitch:message:type (scope: Next, type: String): returns Message in this case.
  • twitch:user:id (scope: Next, type: String): unique user identifier.
  • twitch:user:type (scope: Next, type: String): the type of the user (possible values are undefined, 'mod', 'global_mod', 'admin' and 'staff').
  • twitch:user:name (scope: Next, type: String): lowercase username.
  • twitch:user:display (scope: Next, type: String): user name including the capitals chosen by the user.
  • twitch:user:color (scope: Next, type: String): username color displayed in chat.
  • twitch:flags:broadcaster (scope: Next, type: Boolean): if the message comes from the streamer (the one who owns the chain, so you).
  • twitch:flags:founder (scope: Next, type: Boolean): the first participants in the chain once the affiliation is activated.
  • twitch:flags:moderator (scope: Next, type: Boolean): if the message comes from a channel moderator.
  • twitch:flags:subscriber (scope: Next, type: Boolean): if the user is currently subscribed to the channel.
  • twitch:flags:vip (scope: Next, type: Boolean): if you have given the role of VIP to this user.
  • twitch:flags:follower (scope: Next, type: Boolean): lets you know if the user is following the channel.

This block receives the following variables:
  • twitch:users[i] (type: Array): list of all users who spoke, i must be replaced by the block ID (displayed when hovering over its title).

Twitch - Follow

When a user starts following your channel.

This block returns the following variables:
  • twitch:all:user:id and twitch:follow:user:id (scope: Next, type: String): number representing the Twitch user (does not change on name change).
  • twitch:user:type (scope: Next, type: String): the type of the user (possible values are undefined, 'mod', 'global_mod', 'admin' and 'staff').
  • twitch:all:user:name and twitch:follow:user:name (scope: Next, type: String): username (like the one shown but all lowercase).
  • twitch:all:user:display and twitch:follow:user:display (scope: Next, type: String): username as displayed in chat.
  • twitch:user:color (scope: Next, type: String): username color displayed in chat.
  • twitch:flags:broadcaster (scope: Next, type: Boolean): if the message comes from the streamer (the one who owns the chain, so you).
  • twitch:flags:founder (scope: Next, type: Boolean): the first participants in the chain once the affiliation is activated.
  • twitch:flags:moderator (scope: Next, type: Boolean): if the message comes from a channel moderator.
  • twitch:flags:subscriber (scope: Next, type: Boolean): if the user is currently subscribed to the channel.
  • twitch:flags:vip (scope: Next, type: Boolean): if you have given the role of VIP to this user.
  • twitch:flags:follower (scope: Next, type: Boolean): lets you know if the user is following the channel.

Twitch - Followers Only


Make sure that only people who follow the channel can talk in the chat, or react when changing this option.

State:
  • On: activate followers only mode.
  • Both: reacts as much to activation as to deactivation.
  • Off: deactivate followers only mode.

This block returns the following variables:
  • twitch:follower-only:enabled (scope: Next, type: Boolean): whether the option is enabled or not.

Twitch - Game

Searches for information about the game or category.

Game: game or category for which information will be retrieved.
This block returns the following variables:
  • twitch:game:id (scope: Next, type: String): unique number representing the game or category.
  • twitch:game:name (scope: Next, type: String): name written as featured by Twitch.
  • twitch:game:image (scope: Next, type: String): game or category image (includes two values to replace {width} and {height}).

Twitch - Gift Paid Upgrade

Fires when a user upgrades their gift subscription to a paid subscription in a channel.

This block returns the following variables:
  • twitch:all:user:id and twitch:gift-paid-upgrade:user:id (scope: Next, type: String): number representing the Twitch user (does not change on name change).
  • twitch:user:type (scope: Next, type: String): the type of the user (possible values are undefined, 'mod', 'global_mod', 'admin' and 'staff').
  • twitch:all:user:name and twitch:gift-paid-upgrade:user:name (scope: Next, type: String): username (like the one shown but all lowercase).
  • twitch:all:user:display and twitch:gift-paid-upgrade:user:display (scope: Next, type: String): username as displayed in chat.
  • twitch:user:color (scope: Next, type: String): username color displayed in chat.
  • twitch:flags:broadcaster (scope: Next, type: Boolean): if the message comes from the streamer (the one who owns the chain, so you).
  • twitch:flags:founder (scope: Next, type: Boolean): the first participants in the chain once the affiliation is activated.
  • twitch:flags:moderator (scope: Next, type: Boolean): if the message comes from a channel moderator.
  • twitch:flags:subscriber (scope: Next, type: Boolean): if the user is currently subscribed to the channel.
  • twitch:flags:vip (scope: Next, type: Boolean): if you have given the role of VIP to this user.
  • twitch:flags:follower (scope: Next, type: Boolean): lets you know if the user is following the channel.
  • twitch:gift-paid-upgrade:original:name (scope: Next, type: String): the name of the user that gifted the original subscription.
  • twitch:gift-paid-upgrade:original:display (scope: Next, type: String): the display name of the user that gifted the original subscription.

Twitch - Info


Triggers when channel information changes, retrieves channel information, or changes channel information.

Status *: channel live title.
Game *: game or category of live.
Channel *: twitch channel for which to retrieve the information.

This block returns the following variables:
  • twitch:channel:name (scope: Next, type: String): username (like the one shown but all lowercase).
  • twitch:channel:display (scope: Next, type: String): username as displayed in chat.
  • twitch:channel:title (scope: Next, type: String): channel live title.
  • twitch:channel:lang (scope: Next, type: String): channel language.
  • twitch:channel:game:id (scope: Next, type: String): unique number representing the game or category.
  • twitch:channel:game:name (scope: Next, type: String): name written as featured by Twitch.
  • twitch:channel:game:image (scope: Next, type: String): game or category image (includes two values to replace {width} and {height}).

Twitch - Message


Send a message on the chat or react to these messages.

Message *: message sent for orange block, or message received from a user for green block (if left blank, reacts to all messages).
Account: type of account to use for this action (if Bot account is not configured, Broadcaster account will be used).
Case sensitive: must have the same upper and lower case if the box is checked, otherwise GooD and good are considered identical.
Contains sentence: the word can be anywhere in the message if the box is checked, otherwise the message must be exactly as entered.
Type of viewer: check the boxes corresponding to the types of viewers who can operate the block.

This block returns the following variables:
  • twitch:message (scope: Next, type: String): message sent by the user on the chat.
  • twitch:message:id (scope: Next, type: String): identifier of the received message.
  • twitch:message:date and twitch:message:time: date message received (refer to date and time variables which are presented in the same way).
  • twitch:message:type (scope: Next, type: String): returns Message in this case.
  • twitch:user:id (scope: Next, type: String): unique user identifier.
  • twitch:user:type (scope: Next, type: String): the type of the user (possible values are undefined, 'mod', 'global_mod', 'admin' and 'staff').
  • twitch:user:name (scope: Next, type: String): lowercase username.
  • twitch:user:display (scope: Next, type: String): user name including the capitals chosen by the user.
  • twitch:user:color (scope: Next, type: String): username color displayed in chat.
  • twitch:flags:broadcaster (scope: Next, type: Boolean): if the message comes from the streamer (the one who owns the chain, so you).
  • twitch:flags:founder (scope: Next, type: Boolean): the first participants in the chain once the affiliation is activated.
  • twitch:flags:moderator (scope: Next, type: Boolean): if the message comes from a channel moderator.
  • twitch:flags:subscriber (scope: Next, type: Boolean): if the user is currently subscribed to the channel.
  • twitch:flags:vip (scope: Next, type: Boolean): if you have given the role of VIP to this user.
  • twitch:flags:follower (scope: Next, type: Boolean): lets you know if the user is following the channel.

Twitch - Message Delay

Configures the chat message delay, which allows messages to be moderated before they appear for viewers (does not affect moderators).

Delay: duration before the message is visible to everyone (in seconds).
State:
  • On: activate message delay.
  • Off: deactivate message delay.

Twitch - Message Remove

Fires when a single message is removed from a channel.

Message: message sent for orange block, or message received from a user for green block (if left blank, reacts to all messages).
Case sensitive: must have the same upper and lower case if the box is checked, otherwise GooD and good are considered identical.
Contains sentence: the word can be anywhere in the message if the box is checked, otherwise the message must be exactly as entered.
Type of viewer: check the boxes corresponding to the types of viewers who can operate the block.

This block returns the following variables:
  • twitch:message (scope: Next, type: String): message sent by the user on the chat.
  • twitch:message:id (scope: Next, type: String): identifier of the received message.
  • twitch:message:date and twitch:message:time: date the message was deleted (refer to date and time variables which are presented in the same way).
  • twitch:message:type (scope: Next, type: String): returns MessageRemove in this case.
  • twitch:user:type (scope: Next, type: String): the type of the user (possible values are undefined, 'mod', 'global_mod', 'admin' and 'staff').
  • twitch:user:name (scope: Next, type: String): lowercase username.

Twitch - Prime Community Gift

Fires when a user gifts a Twitch Prime benefit to the channel.

This block returns the following variables:
  • twitch:all:user:id and twitch:prime-community-gift:user:id (scope: Next, type: String): number representing the Twitch user (does not change on name change).
  • twitch:user:type (scope: Next, type: String): the type of the user (possible values are undefined, 'mod', 'global_mod', 'admin' and 'staff').
  • twitch:all:user:name and twitch:prime-community-gift:user:name (scope: Next, type: String): username (like the one shown but all lowercase).
  • twitch:all:user:display and twitch:prime-community-gift:user:display (scope: Next, type: String): username as displayed in chat.
  • twitch:user:color (scope: Next, type: String): username color displayed in chat.
  • twitch:flags:broadcaster (scope: Next, type: Boolean): if the message comes from the streamer (the one who owns the chain, so you).
  • twitch:flags:founder (scope: Next, type: Boolean): the first participants in the chain once the affiliation is activated.
  • twitch:flags:moderator (scope: Next, type: Boolean): if the message comes from a channel moderator.
  • twitch:flags:subscriber (scope: Next, type: Boolean): if the user is currently subscribed to the channel.
  • twitch:flags:vip (scope: Next, type: Boolean): if you have given the role of VIP to this user.
  • twitch:flags:follower (scope: Next, type: Boolean): lets you know if the user is following the channel.

Twitch - Prime Paid Upgrade

Fires when a user upgrades their Prime subscription to a paid subscription in a channel.

This block returns the following variables:
  • twitch:all:user:id and twitch:prime-paid-upgrade:user:id (scope: Next, type: String): number representing the Twitch user (does not change on name change).
  • twitch:all:user:name and twitch:prime-paid-upgrade:user:name (scope: Next, type: String): username (like the one shown but all lowercase).
  • twitch:all:user:display and twitch:prime-paid-upgrade:user:display (scope: Next, type: String): username as displayed in chat.
  • twitch:prime-paid-upgrade:plan:id (scope: Next, type: String): the plan ID of the subscription.

Twitch - Raid


Allows you to raid (which brings viewers to another channel), or reacts when another channel sends their viewers to your channel.

Channel *: name of the channel to take into account (if left blank, reacts to all channels).

This block returns the following variables:
  • twitch:raid:channel (scope: Next, type: String): name of the channel to take into account.
  • twitch:raid:count (scope: Next, type: Number): number of users viewing this share.
  • twitch:user:id (scope: Next, type: String): unique user identifier.
  • twitch:user:type (scope: Next, type: String): the type of the user (possible values are undefined, 'mod', 'global_mod', 'admin' and 'staff').
  • twitch:user:name (scope: Next, type: String): lowercase username.
  • twitch:user:display (scope: Next, type: String): user name including the capitals chosen by the user.
  • twitch:user:color (scope: Next, type: String): username color displayed in chat.
  • twitch:flags:broadcaster (scope: Next, type: Boolean): if the message comes from the streamer (the one who owns the chain, so you).
  • twitch:flags:founder (scope: Next, type: Boolean): the first participants in the chain once the affiliation is activated.
  • twitch:flags:moderator (scope: Next, type: Boolean): if the message comes from a channel moderator.
  • twitch:flags:subscriber (scope: Next, type: Boolean): if the user is currently subscribed to the channel.
  • twitch:flags:vip (scope: Next, type: Boolean): if you have given the role of VIP to this user.
  • twitch:flags:follower (scope: Next, type: Boolean): lets you know if the user is following the channel.

Twitch - Raid Cancel


Triggers when the raid in progress is canceled before the countdown ends.

Twitch - Redemption

Triggers when a viewer activates a reward using their channel points.

Reward: relevant reward (if left blank, reacts to all rewards).

This block returns the following variables:
  • twitch:all:user:id and twitch:redemption:user:id (scope: Next, type: String): number representing the Twitch user (does not change on name change).
  • twitch:user:type (scope: Next, type: String): the type of the user (possible values are undefined, 'mod', 'global_mod', 'admin' and 'staff').
  • twitch:all:user:name and twitch:redemption:user:name (scope: Next, type: String): username (like the one shown but all lowercase).
  • twitch:all:user:display and twitch:redemption:user:display (scope: Next, type: String): username as displayed in chat.
  • twitch:message (scope: Next, type: String): message sent by the user (if requested).
  • twitch:redemption:id (scope: Next, type: String): unique reward identifier.
  • twitch:redemption:title (scope: Next, type: String): reward title.
  • twitch:redemption:prompt (scope: Next, type: String): reward comment.
  • twitch:redemption:cost (scope: Next, type: Number): how many points the reward costs.
  • twitch:redemption:queued (scope: Next, type: Boolean): whether the reward gets added to the request queue.
  • twitch:redemption:images:1x (scope: Next, type: String): web address of the reduced size image.
  • twitch:redemption:images:2x (scope: Next, type: String): web address of the medium size image.
  • twitch:redemption:images:4x (scope: Next, type: String): web address of the large image.

Twitch - Reward Gift

Fires when a user gifts rewards during a special event.

This block returns the following variables:
  • twitch:all:user:id and twitch:reward:user:id (scope: Next, type: String): number representing the Twitch user (does not change on name change).
  • twitch:user:type (scope: Next, type: String): the type of the user (possible values are undefined, 'mod', 'global_mod', 'admin' and 'staff').
  • twitch:all:user:name and twitch:reward:user:name (scope: Next, type: String): username (like the one shown but all lowercase).
  • twitch:all:user:display and twitch:reward:user:display (scope: Next, type: String): username as displayed in chat.
  • twitch:reward:original:id (scope: Next, type: String): the user ID of the gifter.
  • twitch:reward:original:name (scope: Next, type: String): the name of the gifter.
  • twitch:reward:original:display (scope: Next, type: String): the display name of the gifter.
  • twitch:reward:count (scope: Next, type: Number): the amount of rewards that were shared.
  • twitch:reward:domain (scope: Next, type: String): the domain of the reward, i.e. an identifier of the special event that caused these rewards.
  • twitch:reward:shared (scope: Next, type: Number): the amount of total rewards the user shared.

Twitch - Ritual

Fires when a user performs a "ritual" in a channel (new user).

This block returns the following variables:
  • twitch:ritual:name (scope: Next, type: String): ritual name (here new_chatter).
  • twitch:ritual:message (scope: Next, type: String): ritual message.
  • twitch:all:user:id and twitch:ritual:user:id (scope: Next, type: String): number representing the Twitch user (does not change on name change).
  • twitch:user:type (scope: Next, type: String): the type of the user (possible values are undefined, 'mod', 'global_mod', 'admin' and 'staff').
  • twitch:all:user:name and twitch:ritual:user:name (scope: Next, type: String): username (like the one shown but all lowercase).
  • twitch:all:user:display and twitch:ritual:user:display (scope: Next, type: String): username as displayed in chat.
  • twitch:user:color (scope: Next, type: String): username color displayed in chat.
  • twitch:flags:broadcaster (scope: Next, type: Boolean): if the message comes from the streamer (the one who owns the chain, so you).
  • twitch:flags:founder (scope: Next, type: Boolean): the first participants in the chain once the affiliation is activated.
  • twitch:flags:moderator (scope: Next, type: Boolean): if the message comes from a channel moderator.
  • twitch:flags:subscriber (scope: Next, type: Boolean): if the user is currently subscribed to the channel.
  • twitch:flags:vip (scope: Next, type: Boolean): if you have given the role of VIP to this user.
  • twitch:flags:follower (scope: Next, type: Boolean): lets you know if the user is following the channel.

Twitch - Shoutout

Send a dedication from another channel in a pinned message (when you are streaming only).

User *: targeted user.

Twitch - Slow Mode


Adds a delay between each message from the same viewer, giving you more time to read, or react when changing this option.

Delay: time between each message (in seconds).
State:
  • On: activate slow mode.
  • Both: reacts as much to activation as to deactivation.
  • Off: deactivate slow mode.

Twitch - Standard Pay Forward

Fires when a user pays forward a subscription that was gifted to them to a specific user.

Twitch - Subscribe

Fires when a user subscribes to a channel.

Twitch - Subscribe Again

Fires when a user resubscribes to a channel.

This block returns the following variables:
  • twitch:all:user:id and twitch:subscribe:user:id (scope: Next, type: String): number representing the Twitch user (does not change on name change).
  • twitch:user:type (scope: Next, type: String): the type of the user (possible values are undefined, 'mod', 'global_mod', 'admin' and 'staff').
  • twitch:all:user:name and twitch:subscribe:user:name (scope: Next, type: String): username (like the one shown but all lowercase).
  • twitch:all:user:display and twitch:subscribe:user:display (scope: Next, type: String): username as displayed in chat.
  • twitch:user:color (scope: Next, type: String): username color displayed in chat.
  • twitch:flags:broadcaster (scope: Next, type: Boolean): if the message comes from the streamer (the one who owns the chain, so you).
  • twitch:flags:founder (scope: Next, type: Boolean): the first participants in the chain once the affiliation is activated.
  • twitch:flags:moderator (scope: Next, type: Boolean): if the message comes from a channel moderator.
  • twitch:flags:subscriber (scope: Next, type: Boolean): if the user is currently subscribed to the channel.
  • twitch:flags:vip (scope: Next, type: Boolean): if you have given the role of VIP to this user.
  • twitch:flags:follower (scope: Next, type: Boolean): lets you know if the user is following the channel.
  • twitch:subscribe:message (scope: Next, type: String): message sent with this subscription notification.
  • twitch:subscribe:months (scope: Next, type: Number): the number of total months of subscriptions for the channel.
  • twitch:subscribe:plan:id (scope: Next, type: String): the plan ID of the subscription.
  • twitch:subscribe:plan:name (scope: Next, type: String): the plan name of the subscription.
  • twitch:subscribe:streak (scope: Next, type: Number): the number of consecutive months of subscriptions for the channel.
  • twitch:subscribe:prime (scope: Next, type: Boolean): whether the subscription was "paid" for with Twitch Prime.

Twitch - Subscribe Extend

Fires when a user extends their subscription using a Sub Token.

This block returns the following variables:
  • twitch:all:user:id and twitch:subscribe:user:id (scope: Next, type: String): number representing the Twitch user (does not change on name change).
  • twitch:user:type (scope: Next, type: String): the type of the user (possible values are undefined, 'mod', 'global_mod', 'admin' and 'staff').
  • twitch:all:user:name and twitch:subscribe:user:name (scope: Next, type: String): username (like the one shown but all lowercase).
  • twitch:all:user:display and twitch:subscribe:user:display (scope: Next, type: String): username as displayed in chat.
  • twitch:user:color (scope: Next, type: String): username color displayed in chat.
  • twitch:flags:broadcaster (scope: Next, type: Boolean): if the message comes from the streamer (the one who owns the chain, so you).
  • twitch:flags:founder (scope: Next, type: Boolean): the first participants in the chain once the affiliation is activated.
  • twitch:flags:moderator (scope: Next, type: Boolean): if the message comes from a channel moderator.
  • twitch:flags:subscriber (scope: Next, type: Boolean): if the user is currently subscribed to the channel.
  • twitch:flags:vip (scope: Next, type: Boolean): if you have given the role of VIP to this user.
  • twitch:flags:follower (scope: Next, type: Boolean): lets you know if the user is following the channel.
  • twitch:subscribe:message (scope: Next, type: String): message sent with this subscription notification.
  • twitch:subscribe:months (scope: Next, type: Number): the number of total months of subscriptions for the channel.
  • twitch:subscribe:months:end (scope: Next, type: Number): subscription extension end month (1 is january and 12 is december).
  • twitch:subscribe:plan:id (scope: Next, type: String): the plan ID of the subscription.

Twitch - Subscribe Gift

Fires when a user gifts a subscription to a channel to another user.

This block returns the following variables:
  • twitch:all:user:id and twitch:subscribe:user:id (scope: Next, type: String): number representing the Twitch user (does not change on name change).
  • twitch:user:type (scope: Next, type: String): the type of the user (possible values are undefined, 'mod', 'global_mod', 'admin' and 'staff').
  • twitch:all:user:name and twitch:subscribe:user:name (scope: Next, type: String): username (like the one shown but all lowercase).
  • twitch:all:user:display and twitch:subscribe:user:display (scope: Next, type: String): username as displayed in chat.
  • twitch:user:color (scope: Next, type: String): username color displayed in chat.
  • twitch:flags:broadcaster (scope: Next, type: Boolean): if the message comes from the streamer (the one who owns the chain, so you).
  • twitch:flags:founder (scope: Next, type: Boolean): the first participants in the chain once the affiliation is activated.
  • twitch:flags:moderator (scope: Next, type: Boolean): if the message comes from a channel moderator.
  • twitch:flags:subscriber (scope: Next, type: Boolean): if the user is currently subscribed to the channel.
  • twitch:flags:vip (scope: Next, type: Boolean): if you have given the role of VIP to this user.
  • twitch:flags:follower (scope: Next, type: Boolean): lets you know if the user is following the channel.
  • twitch:subscribe:gifter:id (scope: Next, type: String): unique identifier of the user receiving the gift.
  • twitch:subscribe:gifter:name (scope: Next, type: String): name of the user who receives the gift in lowercase.
  • twitch:subscribe:gifter:display (scope: Next, type: String): name of the user who receives the gift including the capital letters chosen by the user.
  • twitch:subscribe:message (scope: Next, type: String): message sent with this subscription notification.
  • twitch:subscribe:duration (scope: Next, type: Number): the duration of the gifted subscription, in months..
  • twitch:subscribe:count (scope: Next, type: Number): the number of subscriptions the gifting user has already gifted in total..
  • twitch:subscribe:months (scope: Next, type: Number): the number of total months of subscriptions for the channel.
  • twitch:subscribe:plan:id (scope: Next, type: String): the plan ID of the subscription.
  • twitch:subscribe:plan:name (scope: Next, type: String): the plan name of the subscription.
  • twitch:subscribe:streak (scope: Next, type: Number): the number of consecutive months of subscriptions for the channel.
  • twitch:subscribe:prime (scope: Next, type: Boolean): whether the subscription was "paid" for with Twitch Prime.

Twitch - Subscribers Only


Make sure that only people who are subscribed to the channel can talk in the chat, or react when changing this option.

State:
  • On: activate subscribers only mode.
  • Both: reacts as much to activation as to deactivation.
  • Off: deactivate subscribers only mode.

Twitch - Timeout


Temporarily ban a user or react to a temporary ban.

User *: targeted user.
Reason *: the reason the temporary ban occurred.
Duration: duration after which the ban will end automatically (in seconds).

This block returns the following variables:
  • twitch:timeout:user:id (scope: Next, type: String): number representing the Twitch user (does not change on name change).
  • twitch:timeout:user:name (scope: Next, type: String): username (like the one shown but all lowercase).
  • twitch:timeout:user:display (scope: Next, type: String): username as displayed in chat.
  • twitch:timeout:reason (scope: Next, type: String): the reason the temporary ban occurred.
  • twitch:timeout:start:date and twitch:timeout:start:time: start date of the temporary ban (refer to date and time variables which are presented in the same way).
  • twitch:timeout:end:date and twitch:timeout:end:time: end date of the temporary ban (refer to date and time variables which are presented in the same way).

Twitch - Unique Message


Enables/disables the fact that a user cannot send the same message twice, or react when changing this option.

State:
  • On: activate unique message mode.
  • Both: reacts as much to activation as to deactivation.
  • Off: deactivate unique message mode.

Twitch - Whisper


Reacts when a private message is received.

User *: targeted user.
Message *: message sent for orange block, or message received from a user for green block (if left blank, reacts to all messages).
Case sensitive: must have the same upper and lower case if the box is checked, otherwise GooD and good are considered identical.
Contains sentence: the word can be anywhere in the message if the box is checked, otherwise the message must be exactly as entered.

This block returns the following variables:
  • twitch:message (scope: Next, type: String): message sent by the user on the chat.
  • twitch:message:date and twitch:message:time: date message received (refer to date and time variables which are presented in the same way).
  • twitch:message:type (scope: Next, type: String): returns Whisper in this case.
  • twitch:user:id (scope: Next, type: String): unique user identifier.
  • twitch:user:name (scope: Next, type: String): lowercase username.
  • twitch:user:display (scope: Next, type: String): user name including the capitals chosen by the user.