Documentation
This page contains documentation for all of CoeBot's features.
Note that !
is used as a prefix in the documentation, but may differ
per channel.
General
Commands
!join
-
Tells CoeBot to join your channel. Must be executed in the bot's channel. Everyone
!part
-
Tells CoeBot to leave your channel. In a non-bot channel, only the broadcaster may use this command. Everyone
!bothelp
-
Returns a helpful message. Everyone
Custom commands
Triggers
!commands
-
Links to the list of commands for the channel. Subs
!command add <name> <text>
-
Creates a command
!name
that responds with the specified text. ModsBy default, commands are available to subs. Using
adda
oraddm
instead ofadd
will pre-restrict the command to all users or moderators, respectively.Example:
!command add pan FOUND THE (_PARAMETER_CAPS_), HAVE YE?
— Adds a command called "pan".Example:
!command adda useful Here's some useful info: example.org
— Adds a command available to all users immediately. !command delete <name>
-
Deletes a command. Mods
Example:
!command delete pan
— Deletes the command called "pan". !command restrict <name> all|subs|vips|mods|owner
-
Restricts a command to a specific group. Mods
Example:
!command restrict pan mods
— Restricts "pan" to moderators and above. !command editor <name>
-
Gets the last editor of a command. Mods
Example:
!command editor pan
— Gets the last editor of the "pan" command. !command count <name>
-
Gets the number of times a command has been run. Mods
Example:
!command count pan
— Gets the number of times the "pan" command have been used. !command rename <old> <new>
-
Renames a command. Mods
Example:
!command rename pan oldpan
— Renames the command "pan" to "oldpan". !command get <name>
-
Gets the response for a command. Mods
Example:
!command get pan
— Gets the response for the "pan" command. !command clone #<channel> <name>
-
Clones a command from another channel into this channel. Mods
Example:
!command clone #coestar pan
— Clones the "pan" command into the current channel as "pan". !command exec <command string>
-
Executes the command string. Can be used to quickly test some commands before adding them Mods
Example:
!command exec The time in Chicago is (_TIME_America/Chicago_).
Repeats
The repeat command sets up a command repetition. When enabled, the bot will repeat every X seconds so long as Y messages have passed.
!repeat add <name> <delay in seconds> [message difference]
-
Sets a command to repeat, and enables it. Mods
Example:
!repeat add discord 300 10
— Sets the command "discord" to repeat every 300 seconds if at least 10 messages have passed. !repeat delete <name>
-
Deletes a command's repeat info. Mods
Example:
!repeat delete discord
— Stops repeating the "discord" command and deletes its repeat info. !repeat on|off <name>
-
Enables or disables a command's repetition. Mods
Example:
!repeat on discord
— Enables repetition of the "discord" command. !repeat list
-
Lists command repetition info. Mods
Schedule
The schedule command sets up a command repetition via a cron expression. Like repeated commands, a message difference can be specified.
!schedule add <name> <pattern> [message difference]
-
Schedules a command, and enables it. Mods
Example:
!schedule add discord *_5_*_*_*
— Schedules the command "discord" to at 5AM every day.Example:
!schedule add discord hourly 10
— Schedules the command "discord" to run hourly if at least 10 messages have passed. !schedule delete <name>
-
Deletes a command's schedule. Mods
Example:
!schedule delete discord
— Unschedules the "discord" command and deletes its schedule. !schedule on|off <name>
-
Enables or disables a command's repetition. Mods
Example:
!schedule on discord
— Enables the schedule of the "discord" command. !schedule list
-
Lists command schedules. Mods
Autoreplies
Autoreplies are like custom commands, but are run when a message matches a pattern.
!autoreply add <pattern> <response>
-
Adds an autoreply which will respond with the provided response when a message matches the pattern. Mods
In the pattern, spaces should be replaced with underscores.
Example:
!autoreply add *what*game* This is (_GAME_).
— Adds an autoreply that will reply with the current game if a message matches the pattern "*what*game".Example:
!autoreply add REGEX:^too_many_[^_]+$ TOO MANY COOKS (_REGULARS_ONLY_)
— Adds an autoreply which uses a raw regex pattern. !autoreply delete <num>
-
Removes an autoreply. Mods
Note that deleting an autoreply that isn't the last does not shift the numbers down. Use
!autoreply compact
to do this. !autoreply editresponse <num> <response>
-
Edits an autoreply's response. Mods
!autoreply editpattern <num> <pattern>
-
Edits an autoreply's pattern. Mods
In the pattern, spaces should be replaced with underscores.
!autoreply compact <num>
-
Compacts autoreplies "num" and higher. This is useful after removing an autoreply in the middle of the list. Mods
!autoreply list
-
Links to the list of autoreplies for the channel. Mods
Lists
Lists are collections of command-like responses, which can be accessed directly, or via the (_LIST_<name>_RANDOM_)
action.
They share the same namespace as custom commands, and may contain command actions themselves.
!list add <name>
-
Adds a list. Mods
By default, lists are available to subs. Using
adda
oraddm
instead ofadd
will pre-restrict the list to all users or moderators, respectively.Example:
!list add hatspells
— Adds a list called "hatspells". !list delete <name>
-
Removes a list. Mods
!list restrict <name> all|subs|vips|mods|owner
-
Restricts a list. Mods
!list rename <old> <new>
-
Renames a list. Mods
!<name>
-
Gets a random item from the list. Or use
!<name> random
. Varies !<name> add <item>
-
Adds an item to the named list. Mods
Example:
!hatspells add Solar Eruption
— Adds "Solar Eruption" to the "hatspells" list. !<name> delete <item>
-
Removes an item from the named list. Mods
Example:
!hatspells remove Solar Eruption
— Removes "Solar Eruption" from the "hatspells" list. !<name> restrict
-
Same as
!list restrict <name>
. Mods !<name> get <num>
-
Gets a specific item from the list. Varies
Variables
Variables store persistent information between commands, and are accessible directly or through actions.
!var set <name> <value>
-
Sets a variable. Mods
!var get <name>
-
Gets a variable's value. Mods
!var delete <name>
-
Removes a variable. Mods
!var increment <name> <amount>
-
Increments a variable as an integer. Mods
!var decrement <name> <amount>
-
Decrements a variable as an integer. Mods
Moderation
Shortcuts
+b <user>
-
Bans a user. Mods
-b <user>
-
Unbans a user. Mods
+t <user> [seconds]
-
Times out a user (with an optional duration). Mods
-t <user>
-
Removes a user's timeout. Mods
+p <user>
-
Purges a user's messages. Mods
!permit <user>
-
Permits a user to post one link. Mods
!clear
-
Clears chat. Mods
+m
-
Turns slow mode on. Mods
-m
-
Turns slow mode off. Mods
+s
-
Turns sub only mode on. Mods
-s
-
Turns sub only mode off. Mods
Ignores
Ignored users may not use CoeBot, but will still be subject to filters.
!ignore add <user>
-
Adds a user to the ignore list. Mods
!ignore delete <user>
-
Removes a user from the ignore list. Mods
!ignore list
-
Lists users in the ignore list. Mods
User levels
Custom user levels reclassify users to have different levels. Regulars are equivalent to subscribers, owners are equivalent to the channel broadcaster, and mods are mods.
!regular list
-
Lists regulars. Mods
!regular add|remove <user>
-
Adds or removes a user from the regular list. Mods
!owner|mod list
-
Lists users in that group. Broadcaster
!owner|mod add|remove <user>
-
Adds or removes a user from a list. Broadcaster
Fun
General fun
!conch
-
Magic 8 ball. Subs
!xkcd <num>
-
Gets the requested XKCD comic. Subs
!random coin
-
Flips a coin. Varies
!random <integer>
-
Picks a random number. Varies
!roll <dice>
-
Rolls the specified dice. Varies
Example:
!roll 2d20
— Rolls two D20s. !google <query>
-
Googles something. Subs
!link <query>
-
Links something. Subs
!me <phrase>
-
Sends a /me command. Mods
!urban <phrase>
-
Looks up something in the Urban Dictionary. Be warned, these are not filtered. Subs
Quotes
!quote
-
Gets a random quote. Subs
!quote add <quote>
-
Adds a quote. Mods
Example:
!quote add "This is a quote!"
— Adds a the quote "This is a quote!". !quote delete <num>
-
Removes a quote. Mods
Note that deleting a quote that isn't the last does not shift the numbers down. Use
!quote compact
to do this. !quote get <num>
-
Gets a quote. Subs
!quote random
-
Gets a random quote. Subs
!quote getindex <exact quote>
-
Returns the number of the exact quote specified. Subs
!quote edit <num> <quote>
-
Edts a quote. Mods
!quote search <phrase>
-
Searches all quotes for a phrase. Mods
!quote editor <num>
-
Gets the username of the last editor of the quote. Subs
!quote compact <num>
-
Compacts quotes "num" and higher. This is useful after removing a quote in the middle of the list. Mods
Utilities
General utilities
!lastfm
-
Links to the channel's LastFM profile. Everyone
!music
-
Gets the currently playing song. Everyone
!songlink
-
Gets a link to the currently playing song. Everyone
!whatshouldiplay
-
Picks a random game from the channel's Steam library. Broadcaster
!channelid
-
Gets the channel's Twitch ID. Everyone
!ht
-
Creates a highlight (viewable on the channel page). Everyone
!highlightthat
-
Same as
!ht
. Everyone !#<channel>/<command>
-
Runs a command from another channel. Broadcaster
!hltb
-
Fetches the HowLongToBeat time for the current game, or an arbitrary game with a parameter. Subs
Twitch
!game
-
Gets the current game. Everyone
!game <new game>
-
Sets the current game. Only valid game names are allowed, but the bot will autocorrect or suggest game names when possible. Mods
!status
-
Gets the current status. Everyone
!status <new status>
-
Sets the current status. Mods
!uptime
-
Gets the current uptime. Everyone
!viewers
-
Gets the current viewer count. Everyone
!islive <user>
-
Checks if a user is live. Mods
!statusgame <new status>
-
Sets the current game to the current Steam game. and sets the status. Mods
!steamgame
-
Sets the current game to the current Steam game. Mods
Raffles
!raffle
-
Enters into the active raffle. Everyone
!raffle enable|disable
-
Enables/disables the raffle. Enabling the raffle clears the previous entries. Mods
!raffle reset
-
Resets the raffle entries. Mods
!raffle count
-
Counts the number of raffle entries. Mods
!raffle winner
-
Picks a random winner. Mods
!raffle winner <X>
-
Picks <X> random winners. Mods
Settings
General settings
!set prefix <prefix>
-
Sets the prefix used to access commands. Broadcaster
!set bullet <bullet>
-
Sets the bullet prepended to all bot messages. Broadcaster
!set cooldown <seconds>
-
Sets the command cooldown. Mods
!set shouldModerate on|off
-
Enables moderation. Mods
!set lastfm off|<name>
-
Sets the channel's LastFM profile name. Mods
!set enableWarnings on|off
-
Enable warnings before moderation actions. Mods
!set displayWarnings on|off
-
Show warnings on warns. Mods
!set timeoutDuration <seconds>
-
Sets the moderation timeout duration. Mods
!set extraLifeID <ID>
-
Sets the Extra-Life ID. Mods
!set subsMayLink on|off
-
Allow subscribers to link. Mods
!set mode all|subs|vips|mods|owner
-
Sets the minimum user level for the bot to respond to. Mods
!set steam <ID>
-
Sets the channel's Steam ID. Mods
!set urban on|off
-
Enables/disables the urban command. Mods
!set tweet <message>
-
Sets the ClickToTweet message. Mods
Roll
!set roll default <num>
-
Set the default roll amount. Mods
!set roll cooldown <seconds>
-
Set the roll cooldown. Mods
!set roll userlevel all|subs|vips|mods|owner
-
Set the minimum user level for roll/random. Mods
Filters
General filters
!filter on|off
-
Enables/disables all filters. Mods
!filter status
-
Shows the status of all filters. Mods
!filter me on|off
-
Enables/disables the /me filter. Mods
!filter messagelength <length>
-
Sets the maximum message length. Mods
!filter exempt all|subs|vips|mods|owner
-
Sets the minimum user level that will be exempt from filters. Defaults to subs, and cannot be higher than mods. For historical reasons, link filtering is controlled by subsMayLink. Mods
Links
!filter links on|off
-
Toggles link filtering. Mods
!filter pd add|delete <link pattern>
-
Toggles link filtering. Mods
Link patterns can just be domains, or contain wildcard characters.
Example:
!filter pd add clips.twitch.tv
— Allow old-style Twitch clip links.Example:
!filter pd add twitch.tv/*/clips
— Allow new-style Twitch clip links. !filter pd list
-
Lists permitted links. Mods
Capitals
!filter caps on|off
-
Toggles caps filtering. Mods
!filter caps status
-
Shows caps filter status. Mods
!filter percent <percent>
-
Sets minimum caps percentage to be filtered. Mods
!filter mincaps <num>
-
Sets minimum caps count to be filtered. Mods
!filter minchars <num>
-
Sets minimum message length to be filtered. Mods
Banned phrases
!filter banphrase on|off
-
Toggles banned phrase filtering. Mods
!filter banphrase list
-
Lists banned phrases. Mods
!filter banphrase add|delete <phrase>
-
Adds/removes a banned phrase. Mods
Symbols
!filter symbols on|off
-
Toggles symbol filtering. Mods
!filter symbols status
-
Shows symbol filter status. Mods
!filter symbols percent <percent>
-
Sets minimum symbol percentage to be filtered. Mods
!filter symbols min <num>
-
Sets minimum symbol count to be filtered. Mods
Emotes
!filter emotes on|off
-
Toggles emote filtering. Mods
!filter emotes max <num>
-
Sets max emotes allowed per message. Mods
!filter emotes single on|off
-
Toggles filter for single emote messages. Mods
Actions
These actions can be used in custom commands and list commands. Actions may be nested, for example:
(_TEXTAPI_https://duckduckgo.com/?q=(_QESC_(_P_)_)_)
Common
(_PARAMETER_)
-
The next command parameter (split by semicolon).
(_P_)
-
Same as
PARAMETER
. (_PARAMETER_CAPS_)
-
The next command parameter, in all caps.
(_P_CAPS_)
-
Same as
PARAMETER_CAPS
. (_PARAMETER_OR_<DEFAULT>_)
-
The next command parameter, or a default value if empty.
(_P_OR_<DEFAULT>_)
-
Same as
PARAMETER_OR_<DEFAULT>
. (_PARAMETER_<X>_)
-
Parameter <X>.
(_P_<X>_)
-
Same as
PARAMETER_<X>
. (_PARAMETER_<X>_OR_<DEFAULT>_)
-
Parameter <X>, or a default value if empty.
(_P_<X>_OR_<DEFAULT>_)
-
Same as
PARAMETER_<X>_OR_<DEFAULT>
. (_PARAMETER_<X>_CAPS_)
-
Parameter <X>, in all caps.
(_P_<X>_CAPS_)
-
Same as
PARAMETER_<X>_CAPS
. (_CAPS_<X>_)
-
Makes <X> all caps.
(_USER_)
-
The user's name.
(_USER_DISPLAY_)
-
The user's display name.
(_ONLINE_CHECK_)
-
If offline, the command is disabled.
(_GAME_)
-
The current game.
(_GAME_CLEAN_)
-
The current game, URL-safe.
(_GAME_IS_<GAME>_)
-
If present and the current game is not
<GAME>
, then the command will stop. Note that this cannot be used with nesting, e.g. you cannot do(_GAME_IS_(_PARAMETER_)_)
. (_GAME_IS_NOT_<GAME>_)
-
Inverse of
GAME_IS_<GAME>
. (_GAME_LINK_)
-
A link to the current game, at its relevent game store.
(_STATUS_)
-
The current stream status.
(_VIEWERS_)
-
The current viewer count.
(_CHATTERS_)
-
The current chatter count.
(_QUOTE_)
-
A random quote.
(_RANDOM_<MIN>_<MAX>_)
-
A random number between <MIN> and <MIN>, up to one decimal place.
(_RANDOM_INT_<MIN>_<MAX>_)
-
A random integer between <MIN> and <MIN>.
(_QUIET_<X>_)
-
Evaluates to the empty string, ignoring the value of <X>. Useful to silence actions with side effects, such as variable setting.
Moderation
(_SUBMODE_ON_)
-
Enables submode.
(_SUBMODE_OFF_)
-
Disables submode.
(_PURGE_)
-
Purges the messages of the user in the first parameter, or the sender if used in an autoreply.
(_BAN_)
-
Bans the user in the first parameter, or the sender if used in an autoreply, and returns the user.
(_TIMEOUT_)
-
Times out the user in the first parameter, or the sender if used in an autoreply, and returns the user.
(_DELETE_)
-
Deletes the message if used in an autoreply, and returns the user.
(_REGULARS_ONLY_)
-
Only allow regulars (subs) to use the command.
Date and time
(_DATE_)
-
The current date, UTC.
(_DATE_<TZ>_)
-
The current date, in the specified timezone (like "America/Chicago" or "MST").
(_TIME_)
-
The current time, UTC.
(_TIME_<TZ>_)
-
The current time, in the specified timezone (like "America/Chicago" or "MST").
(_TIME24_)
-
The current 24-hour time, UTC.
(_TIME24_<TZ>_)
-
The current 24-hour time, in the specified timezone (like "America/Chicago" or "MST").
(_DATETIME_)
-
The current date and time, UTC.
(_DATETIME_<TZ>_)
-
The current date and time, in the specified timezone (like "America/Chicago" or "MST").
(_DATETIME24_)
-
The current date and 24-hour time, UTC.
(_DATETIME24_<TZ>_)
-
The current date and 24-hour time, in the specified timezone (like "America/Chicago" or "MST")..
(_UNTIL_<TIMESTAMP>_)
-
Time until the specified timestamp (in RFC3339 or UNIX-timestamp form).
(_UNTILSHORT_<TIMESTAMP>_)
-
Time until the specified timestamp (in RFC3339 or UNIX-timestamp form), short style.
(_UNTILLONG_<TIMESTAMP>_)
-
Time until the specified timestamp (in RFC3339 or UNIX-timestamp form), long style.
Variables, lists, and commands
(_VARS_<NAME>_GET_)
-
Gets a variable.
(_VARS_<NAME>_GET_<CHANNEL>_)
-
Gets a variable from a specific channel.
(_VARS_<NAME>_SET_<VALUE>_)
-
Set's a variable to a value.
(_VARS_<NAME>_INCREMENT_<NUM>_)
-
Increments a variable if it is an integer.
(_VARS_<NAME>_DECREMENT_<NUM>_)
-
Decrements a variable if it is an integer.
(_LIST_<NAME>_RANDOM_)
-
A random item from a list.
(_COMMAND_<COMMAND>_)
-
Insert the specified command's response.
(_<COMMAND>_COUNT_)
-
The number of times a command has been used.
Meta
(_MESSAGE_COUNT_)
-
The current message count in this channel.
(_SILENT_)
-
Silences the message containing this action.
(_NUMCHANNELS_)
-
The number of channels the bot is active in.
(_BOT_HELP_)
-
The bot's help message.
(_CHANNEL_URL_)
-
The current channel's URL.
Third-party APIs
(_SONG_)
-
Current song.
(_SONG_URL_)
-
Current song's URL.
(_LAST_SONG_)
-
The previous song.
(_EXTRALIFE_AMOUNT_)
-
The current Extra-Life amount.
(_STEAM_PROFILE_)
-
The link to the channel's Steam profile.
(_STEAM_GAME_)
-
The current Steam game.
(_STEAM_SERVER_)
-
The current Steam game's server.
(_STEAM_STORE_)
-
A link to the current Steam game.
(_TWEET_URL_)
-
A link to Twitter which will send a tweet about the stream.
(_TEXTAPI_<URL>_)
-
Sends a GET request to the provided URL and returns the resulting body.
(_PESC_<TEXT>_)
-
Path-escapes the given text.
(_QESC_<TEXT>_)
-
Query-escapes the given text.