Mythision

Chat Bot Commands

The Mythision chat bot supports a variety of different commands including basic message, mini games, and utility commands.

Types

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

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.

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 + 10 or 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 - 10 or just !counter - to decrement by 1
  • It is also possible to set the current value directly using the set subcommand followed by the target value. For Example: !counter set 10
  • To push a new value on to the stack you can use the push subcommand followed by an optional name. For example: !counter push Scary Boss
  • To remove the last value from the stack you can use the pop subcommand. This does not decrease the values of the counter. For example: !counter pop

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 it Scary Boss = 3
  • 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: !quote add This 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: !quote remove This 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 add or new subcommands, 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: !command new morning Good Morning Chat!
  • Renaming a command can be done with the rename subcommand, followed by the current command then the new command name. For Example: !command rename morning evening
  • Modifying the message of a command can be done with the modify, change, or edit subcommands, like the subcommand for creating a new message they take the name of the command followed by the new message. For example: !command modify evening Good Evening Chat!
  • It is possible to enable and disable commands using the enable, disable, and toggle subcommands followed by the command you wish to change. For example: !command toggle evening

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.