-
Notifications
You must be signed in to change notification settings - Fork 57
Actions
Most of the main features in Mix It Up revolve around creating a series of actions to perform when something happens (Chat, Events, Interactive, etc). When a new action is added, all other actions are minimized to reduce the clutter of a command. You can open and close an action by simply clicking on the title of that action. Every action has an the following:
- Play button to allow you to test out the individual action on its own
- Up & Down Arrow buttons which allowing you to change the order of your actions without having to re-create them
- Help button to bring you to the exact Wiki entry for that button
- Delete button to remove the action.
All actions do not wait for their work to complete, they only wait for however long it takes for their work to be initiated. For example, a chat action only waits until the message has been successfully sent, not when it was received by the streaming platform; while a sound action only starts playing the sound, it does not wait for it to finish. The Wait action is the only exception to this. Wait Actions also prevent other commands of the same type from running, such as a series of Chat commands. It will ensure that another Chat command can not run until the current Chat command has finished.
Below you'll find a full list of all the different types of actions that exist and what they all do:
- Chat
- Command
- Conditional
- Counter
- Consumables (Currency/Rank/Inventory)
- Discord
- External Program
- File
- Game Queue
- IFTTT
- Input
- Moderation
- Overlay
- OvrStream
- Serial
- Sound
- Special Identifier
- Streaming Software
- Streamlabs
- Text To Speech
- Wait
- Web Request
Chat actions allow you to send a message to the channel's chat. This message will be send by the Bot account if one is logged in, otherwise it will be send by the Streamer/Moderator's account. You can click on the Send as Streamer option to force the message to be sent from the Streamer's account. You can also click on the Whisper option to have this message whispered to either the user that initiated this command or manually specify the user it is whispered to. You may also use Special Identifiers in the chat message & whisper user.
Command actions allow you to run & enable/disable other commands you have. When running another command, it will be run as the user that ran the command that this action is in. After you have selected a command, you can also specify what arguments to use with the command and may use Special Identifiers in it. By default, the action will wait for the selected command to finish before moving on to the next action. This can be changed by toggling the "Wait Until Complete" option.
When running a command via the Command Action, it runs everything associated with the command. This not only means the actions within it, but all aspects of the command such as Usage Requirements. For example, let's say you're trying to run a shoutout chat command that has Moderator permissions on it. If you try to run it via a Command Action, it is also going to check if the user has Moderator permissions. So it's important to consider how you have your commands set up and what type of commands they are. Do note that things like Usage Requirements don't exist on all commands types, such as Action Groups, which make them ideal for this sort of behavior.
Conditional actions allow you to compare two different values and perform a command if the condition is correct. To use this action, you specify the two different values you want to compare, which can contain Special Identifiers, and the comparison type you want:
- = (Equals)
- <> (Not Equals)
- > (Greater Than)
- >= (Greater Than or Equal To)
- < (Less Than)
- <= (Less Than or Equal To)
- Contains (The value on the right exists inside the value on the left)
- <> Contain (The value on the right DOES NOT exist inside the value on the left)
- Between (The value on the left is between or is one of the two values on the right)
- Replaced (Whether the first value changed due to Special Identifier processing) (EX: $username => Joe)
You also have the option to enable case sensitivity, which will ensure the two things must have the same casing to be equal (EX: "hello" & "HELLO" would NOT be equal since they have different letter casing). Finally, you can select the sub-actions that you would like to run if the condition you specified is correct. If the condition is true, then the conditional action will wait until all of the sub-actions have been run before continuing on.
Counter actions allow you to keep track of a count for a given stream session. This counter is reset to 0 every time Mix It Up is loaded. The name you specify for the counter allows it to be used as a Special Identifiers in other actions. You can specify whether the counter will be reset or if it should be updated and the amount that the counter should be increased or decreased by. You may also set whether the counter's value is saved out to a file and if it should also whether the counter should be reset every time you load Mix It Up or attempt to read the value from the saved file. Counter saved text files can be found inside your Mix It Up folder in a folder called Counters.
The Consumables or Currency/Rank/Inventory actions allow you to add or subtract Currency/Rank/Inventory amounts from the user who initiated the command or you can specify a specific user by name or using a Special Identifier. You specify the amount of currency/rank/inventory amount to add or subtract from them. You may also use Special Identifiers in the amount text box and the inventory item name text box.
You can also use this action to run math computations. Simply type in an equation, which can contain other Special Identifiers, and include the appropriate math symbols (EX: +, -, *, /). You can also use special functions in here to perform operations, such as finding the minimum of two numbers. The full list of support functions can be found here: https://github.com/pieterderycke/Jace/wiki
Discord actions allow you to interact with your logged in Discord server via the Mix It Up Discord bot. Below are the types of actions you can perform:
- Send Message - Allows you to send a message to a Discord channel and can include Special Identifiers in your message. You can also additionally supply the path to a file to upload alongside your message.
- Mute/Unmute Self - Allows you to mute/unmute your microphone in your Discord server.
- Deafen/Undeafen Self - Allows you to deafen/undeafen your sound output in your Discord server, which will effectively mute any sound coming from Discord.
External Program actions allow you to launch a program on your computer. You specify the path to the program you wish to run and any arguments to pass in to the program when it is launched (Typically leave this blank unless you need to specify some set of arguments). If you toggle the "Wait For Finish" & "Save Output" options, it will also store any text output from the program into a Special Identifiers called $externalprogramresult.
File actions allow you to save and read text out to a file for use in other programs. Below are the types of actions you can perform:
- Save To File - Save & overwrites the specified text out to the specified file.
- Append To File - Append the specified text out to the specified file.
- Read From File - Reads the contents of a file and save the text into a custom Special Identifier.
- Read Specific Line From File - Reads a specific line from the specified file and save the text into a custom Special Identifier. The line number specified can contain a Special Identifier.
- Read Random Line From File - Reads one line at random from the specified file and save the text into a custom Special Identifier.
- Remove Specific Line From File - Reads a specific line from the specified file, remove the line from the file, and save the text into a custom Special Identifier. The line number specified can contain a Special Identifier.
- Remove Random Line From File - Reads one line at random from the specified file, remove the line from the file, and save the text into a custom Special Identifier.
- Insert In File At Specific Line - Inserts the specified text at a specific line in the specified file. The line number specified can contain a Special Identifier.
- Insert In File At Random Line - Inserts the specified text at a random line in the specified file.
Game Queue actions allow you to interact with the queue to player with the streamer. For more information, please refer to the Game Queue page. Simply select one of the options from the drop-down and that be performed:
- User Join Queue - Adds the user to the queue.
- User Join Front of Queue - Adds the user to the front of the queue.
- User's Queue Position - Whispers to the user their position in the queue.
- Queue Status - Sends a message with the current count of users in the queue and the first 5 players at the front of the queue.
- Select User at Front of Queue - Removes the person at the front of the queue and alerts them in chat to be ready to play.
- Select Random User in Queue - Removes a random user from the queue and alerts them in chat to be ready to play.
- Select First User of Type in Queue - Removes the first user of the specified type from the queue and alerts them in chat to be ready to play.
- Clear Queue - Clears all users from the queue
- Enable/Disable Queue - Enables/disables the queue
IFTTT actions allow you to trigger IFTTT Web Hook applets to connect to hundreds of different, online based services. To connect the IFTTT service, see the IFTTT Service connection information. To set up an IFTTT Web Hook applet, follow the instructions below:
- Head to IFTTT to create a new applet: https://ifttt.com/create
- Search for "Webhooks" when choosing the service for the "This" part of "If This Than That"
- Select the "Receive a web request" option, then type in the name for this event (Remember this name)
- You can then select any service for the "That" part of "If This Than That"
- When setting up the 2nd service, you can use the Ingredients "value1", "value2", & "value3" as special values in what you do (More on that shortly)
- After you have set up your applet, head back into Mix It Up and make a new command
- Add the IFTTT action to it, type in the name of the event you made for the Web Hook, and then optionally include any additional data you would like to pass along for the ingredients "value1", "value2", and "value3"
Input actions will "fake" a keyboard or mouse input to your computer as if you had pressed the key or used the mouse. This can be useful for the game you're currently playing, initiating some command, or even typing something out. Simply select the type of input you want to take place and what should happen with that input. A "Press" holds down the selected input indefinitely, a "Release" releases the selected input, and a "Click" preforms a "Press" & "Release" with a small wait in-between.
Moderation actions allow you to perform specific moderation-based actions on a user or the channel. This includes things like timing a user out from chat/interactive, clearing chat, or banning a user. You may also add or remove moderation strikes from a user. For more information about moderation strikes, see the Moderation Page
Overlay actions allow you to use Mix It Up's overlay webpage to add more flair to your stream. Whether you are using OBS, XSplit, or another streaming software, you can simply add the webpage to your stream to take advantage of it. If you do not have Overlay interaction set up, you'll see an error message stating "Please enable Mix It Up Overlay in the Services Section!". See the Services page for more information.
All overlay actions also require you to specify where it should be positioned and information about how it should be presented. When picking where to show the Overlay Action, you use the simple view to select one of 9 locations on the screen, percentage view to select how far left & top the item is positioned, or the pixel view to select the exact pixel position.
Below are the types of actions you can perform with the Mix It Up Overlay:
- Image - Specify an image to display on the overlay. The file path can be either a file on your PC or a web URL. You can specify the width and height for the image in pixels.
- Text - Specify an set of text to display on the overlay. You may also use Special Identifiers in the text. You can specify font size in pixels and the name of the HTML color.
- Youtube - Specify a Youtube video to display on the overlay. You must include a link to the Youtube video, an optional start time, and the height/width of the video.
- HTML - Load a preset chunk of HTML into the overlay. Simply specify the HTML code to render into the Overlay.
- Video - Specify a local mp4 or webmn video to display on the overlay. You must specify the path to the video file and the height/width of the video.
- Web Page - Specify a web page URL to display on the overlay. You must specify the web page path and the height/width to show the page.
- Show/Hide Widget - Show/Hide an Overlay Widget you have created.
OvrStream actions allow you to Play, Update, and Hide OvrStream titles. Simply design the title to your liking in OvrStream, then add an OvrStream action to any command to cause it to update variables, make OvrStream render the alert and play it on stream.
Serial actions allow you to interact with a Serial IO device that you own. To set up a Serial IO device, first head to the Settings menu and then select Serial Devices. After you have added your Serial IO devices, simply select the device you would like to communicate with from the drop down & the message you would like to send. The message is sent exactly as you type it in plain text, so if you Serial Device is expecting a specific format to the text (EX: JSON), then you must type it as such in the Message text box.
Sound actions allow you to play a sound on your computer. You specify the sound file you wish to play and the volume to play it at from 0-100. Currently, only MP3 files are supported for playing.
Special Identifier actions allow you to create custom Special Identifiers with any set of supplied text, even using other Special Identifiers. You can also perform special functions on the replacement text to alter it before it's saved:
- tolower( TEXT ) = Converts all letters to their lower-case form
- toupper( TEXT ) = Converts all letters to their upper-case form
- removespaces( TEXT ) = Removes all spaces from the text
- removecommas( TEXT ) = Removes all commas from the text
- length( TEXT ) = Replaces with the total number of characters in the text
You can also use this action to run math computations & store the result in a Special Identifier by toggling the "Is Math Expression" option. Simply type in an equation, which can contain other Special Identifiers, and include the appropriate math symbols (EX: +, -, *, /). You can also use special functions in here to perform operations, such as finding the minimum of two numbers. The full list of support functions can be found here: https://github.com/pieterderycke/Jace/wiki
Streaming Software actions allow you to interact with the streaming software of your choice. In order to interact with your streaming software, you must ensure it has been connected to in the Services area of Mix It Up. If there is no active connection, you will see warning message indicating this. Below are the types of actions you can perform:
- Scene - Transition to a specific Scene (in the currently active Collection for OBS Studio & Streamlabs OBS).
- Source Visibility - Make a source on the current scene visible/invisible.
- Text Source - Make source on the current scene visible/invisible and change the text if it is a text source. You may also use Special Identifiers in the source text. When this action is run, the text to display will be put into a file you select. You will then go into your streaming software and set the text source to read it's value from that file. Your streaming software will automatically detect when the text changes in this file and update what it shown on your stream.
- Web Browser Source - Make source on the current scene visible/invisible and change web page path of the web browser source in your streaming software. This path can be either a local file path or a web URL. NOTE FOR OBS Studio & Streamlabs OBS USERS: In order for this work, you will need to ensure that in your source's settings, "Local File" is NOT checked and "Shutdown Source" and "Refresh Browser" are checked.
- Source Dimensions - Change the position of a source in your streaming software. To get the current position of the source, simply type in the name of the source and then click the "Get Current" button.
- Start/Stop Stream - Start/stop your broadcast in your streaming software.
- Save Replay Buffer - Use the replay buffer of your Streaming Software to capture clips of your broadcast locally on your computer. Currently, only OBS Studio and Streamlabs OBS support this option. Additionally, for this option to work, you must ensure the replay buffer has been enabled and saved in your Streaming Software.
Streamlabs actions allow you to perform actions with your Streamlabs overlay, such as emptying the jar, spinning the wheel, and rolling credits. In order to interact with your Streamlabs overlay, you must ensure it has been connected to in the Services area of Mix It Up.
Text to Speech actions allow you to use the https://responsivevoice.org/ to speak a set of text at a specified volume, pitch, and rate. In order to use this feature, you must be using the Mix it Up Overlay. If you do not have Overlay interaction set up, you'll see an error message stating "Please enable Mix It Up Overlay in the Services Section!". See the Services page for more information.
Twitter actions allow you perform actions with the linked Twitter account, such as sending out tweets. See the Twitter Service page for more information.
Wait actions allow you to delay further actions for a specific amount of time. This helps to keep action in-sync for presentation purposes, such as timing an Overlay Image with a specific cue in a song. The amount of time you specify is in seconds and can be a decimal.
Web Request actions allow you to call a web API and use the result to perform an additional action. Simply type in the URL you wish to call, then select the action to perform with the result. The data that is returned from the API is stored in a Special Identifiers called $webrequestresult.
This option allows you to specifically parse out the JSON (JavaScript Object Notation) result from the Web Request and assign individual values in the JSON to Special Identifiers. Simply specify the name of the JSON value in the left box (For nested values, use a '\' between each level) and the name of the Special Identifier to put it in to on the right. You can add additional pairs, as well as delete existing ones.