The Clip type can be used for creating a clip of up to the last 60 seconds of your active Twitch stream with optional publishing to a Discord webhook.
Chat Bot Commands
The Mythision chat bot supports a variety of different commands including basic message, mini games, and utility commands.
Types
- General
- Bot
- Moderation
- World of Warcraft
General Options
There are a number of options that all or most command types support.
Type
Each chat command has a type, this defines what the command will do when used within chat. For non-built-in commands it is possible to change the type at any time.
Command
This option allows you to set how the command can be run from within chat, commands must be between 1 and 30 characters and cannot contain symbols or whitespaces.
User Cooldown
Commands can have a per user cooldown, anywhere from 0 to 300 seconds (5 minutes). Neither user or global cooldown affects you or your moderators. There is a rate limit on chat messages for bots so it is possible for a command to not respond after it has sent too many messages to your chat.
Global Cooldown
Commands can also have a global cooldown for your chat, preventing multiple people from using the same command within the specified time frame, anywhere from 0 to 300 seconds (5 minutes). Neither user or global cooldown affects you or your moderators. There is a rate limit on chat messages for bots so it is possible for a command to not respond after it has sent too many messages to your chat.
Aliases
Aliases allow for running the same command through multiple possible chat messages, each alias must be between 1 and 30 characters and cannot contain symbols or whitespaces. Each alias is separated by a space.
Permissions
Chat commands usage can be restricted by role, for Twitch the available roles are:
- Anyone
- Follower
- Subscriber
- Regular
- Trusted
- VIP
- Moderator
- Lead Moderator
- Broadcaster
Trusted and Regular roles can be customized under the Twitch heading in the Dashboard.
Trigger
Some chat commands can be activated through a Trigger, this will activate the chat command when the trigger is fired. There are currently 3 supports triggers for chat commands, Timer, Twitch Stream Online, and Twitch Stream Offline.
Channel Point Redemption
Some command types can be activated through Twitch Custom Reward redemptions, while this is active their basic functionality will not be available through chat. For example with the Roulette command only the stats subcommand can be used from within chat while a redemption is enabled.
Command Types
General
Clip
Counter
The Counter type can be used for creating named counters that have a few extra options. Counters also support a stack of named values, this can allow for showing important sections separately. As an example, if you created a death counter you could separate the deaths for a boss. Increasing and decreasing the counter effects all values on the stack but setting the counter only effects the last item.
Subcommands
- To increase the counters value you can use
add,inc, or+followed by an optional number. For Example:!counter+10or just!counter+to increment by 1 - To decrease the counters value you can use
sub,dec, or-followed by an optional number. For Example:!counter-10or just!counter-to decrement by 1 - It is also possible to set the current value directly using the
setsubcommand followed by the target value. For Example:!counterset10 - To push a new value on to the stack you can use the
pushsubcommand followed by an optional name. For example:!counterpushScary Boss - To remove the last value from the stack you can use the
popsubcommand. This does not decrease the values of the counter. For example:!counterpop
Options
- You can customize how a counter commands responds using the Message option. This option supports the basic variables that all messages support as well as a few exclusive to counters.
- The variable
{value}will show a forward slash separated list of all stack values. For Example:10 / Scary Boss: 3 - To show individual stack values you can use
{stack[0]}, like{value}this will show both the name and its value. For example:Scary Boss: 3 - To show only names you can use
{stack[0].name}, and to show only the value you can use{stack[0].value}. For Example:{stack[0].name}={stack[0].value}would result itScary Boss = 3
- The variable
- You can customize who can update the counter using the Update Permissions option, this works the same as the general Permissions option but only effects who can update the counter including pushing and popping stack values
Example
> !deaths
< Deaths: 0
> !deaths +
< Deaths: 1
> !deaths push Boss
< Deaths: 1 / Boss: 0
> !deaths +
< Deaths: 2 / Boss: 1
> !deaths pop
< Deaths: 2
Marker
Create a marker at the current timestamp of the live stream, can be sent to a Discord Webhook
Message
The Message type can be used for creating basic message commands that send a message to chat.
Overlay
The Overlay type can be used to control the visibility and muted state of overlays.
Random
The Random type can be used for creating a command that randomly selects from a list of messages. This can be useful for things like quotes, jokes, or other fun messages. You can add and remove messages from the list using chat commands.
Subcommands
- To add a new message to the list you can use the
add,new, or+subcommands followed by the message you want to add. For example:!quoteaddThis is a new quote. - To remove a message from the list you can use the
remove,del,delete, or-subcommands followed by the exact message you want to remove. For example:!quoteremoveThis is a random quote.
Example
> !quote
< "This is a random quote."
> !quote add "This is a new quote."
> !quote
< "This is a new quote."
> !quote remove "This is a random quote."
> !quote
< "This is a new quote."
Roll
The Roll type can be used to roll a random number between 1 and a specified maximum value. Users can override the maximum value if allowed.
Roulette
The Roulette command can be used to give chat a chance to time themselves out for a predetermined duration. When a user attempts roulette they have a 1 in 6 chance of being timed out. If they survive they can try again after the user lockout duration has passed. The user lockout does not affect getting stats.
Example
> !roulette
< @{user.name} places the revolver to their head
< The trigger is pulled, and the revolver clicks. @{user.name} has lived to survive roulette!
> !roulette
< @{user.name} places the revolver to their head
< The trigger is pulled, and the revolver fires! @{user.name} lies dead in chat.
Seppuku
The Seppuku command can be used to allow users to time themselves out for a predetermined duration. This can be useful for when a user wants to take a break from chat or if they want to punish themselves for something.
Shootout
The Shootout command can be used to allow users to initiate and participate in a shootout. When a shootout is initiated users have a set amount of time to join the shootout. Once the shootout starts a random percentage of participants will be timed out for a predetermined duration. The percentage of participants who will die can be set but there will always be at least 1 victim and 1 survivor. The user lockout does not affect getting stats.
Example
> !shootout
< @{user.name} is starting a shootout, join with !shootout, you have 60s.
> !shootout
< @{user.name} has joined the shootout! 55s left to join.
> !shootout
< @{user.name} has joined the shootout! 50s left to join.
...
< The shootout has started. Good Luck!
< @{victim.name} was shot by @{shooter.name}.
...
< @{survivors} survived. Rest in peace to @{victims}.
Shoutout
The Shoutout type can be used to give a shoutout to another Twitch streamer.
Translate
The Translate command can be used to translate a message to the selected language using Google Translate. You can specify a message to translate by including it after the command or by replying to a message with the command.
Example
> !translate こにちは
< Hello
Bot
Modify Command
The Modify Command type allows for the creating and modification of message commands from within chat. The built in command !command is the Modify Command type.
- To create a new command you use the
addornewsubcommands, followed by the command and then the message content. By default the new commands will reply to the user and allow for targeting another user. For example:!commandnewmorningGood Morning Chat! - Renaming a command can be done with the
renamesubcommand, followed by the current command then the new command name. For Example:!commandrenamemorningevening - Modifying the message of a command can be done with the
modify,change, oreditsubcommands, like the subcommand for creating a new message they take the name of the command followed by the new message. For example:!commandmodifyeveningGood Evening Chat! - It is possible to enable and disable commands using the
enable,disable, andtogglesubcommands followed by the command you wish to change. For example:!commandtoggleevening
Moderation
Ban
The Ban command can be used to ban a user from chat for a specified duration or permanently.
Unban
The Unban command can be used to unban a user from chat.
Permit
Permit the user, allowing them to bypass chat moderation for 30 seconds and removing any timeout
World of Warcraft
Guild Best
The Guild Best command can be used to show the best raid performance for a World of Warcraft guild. This command requires a member of the guild to upload combat logs with the Mythision Client.
