Most commands are moderator-only, unless noted otherwise. Make sure to make the bot a moderator, or else it may not respond to commands and could get throttled. Commands that contain sub-commands should display simple usage information when you run them in chat, and each subcommand usually provides a usage bit as well.
|Command||Description||!commands set [command] [message]||Creates a command with a custom message that can be executed as !command. Targets work with this command (see here for more information on targets). You can override existing commands with this command.
To make it a moderator-only command, put a + in front of the command name. To make it a subscriber-only command, use a $ symbol instead. Commands can now include newlines by typing \n in the message body.
[benbaptist] !commands set youtube My YouTube channel is youtube.com/benbaptist. [sauceben] Set command '!youtube'. [benbaptist] !youtube [sauceben] My YouTube channel is youtube.com/benbaptist.
|!commands del [command]||Deletes a custom command. Remember to put a + in front of the command name for deleting custom moderator-only commands.
Tip: You can type del or delete, either way works.
[benbaptist] !commands delete youtube [sauceben] Deleted command '!youtube'.
|!commands list||Shows a list of all of the custom commands.
[benbaptist] !commands list
| !repeat set [command]
!repeat delete [command]
!repeat toggle [command]
!repeat delay [seconds per repeat]
|Automated messages that print in your chat every X amount of seconds, the bot will run a command and cycle to the next.
It will not output if the streamer is offline.
Tip: You can use !repeat in conjunction with !commercial to make periodic automatic commercials.
[benbaptist] !repeat set commercial 30
| !alias add [alias command] [commands ...]
!alias remove [alias command]
|Allows you to add and remove aliases to certain commands. Aliases can be used as "scripts"
List format: [original command] => [alias command]
Tip: !alias can be used to "rename" commands. For example, you can rename !balance to your currency's name.
WARNING: the 'list' subcommand can be very spammy if you have a lot of aliases.
| !enable [command]
|Enables or disables commands. This can be used to disable built-in BenBot commands, or custom commands.
[benbaptist] !disable balance
|Command||Description||!uptime||Return how long the streamer has been streaming. Rough estimate based off of the API.|| !title
!title [title ...]
|Retrieves or sets the title. Requires that you make 'sauceben' a channel editor. Only works on Twitch.TV for now.|| !game
!game [game name ...]
|Retrieves or sets the currently-playing game. Must be a valid game for this to work. Requires that you make 'sauceben' a channel editor. Only works on Twitch.TV for now.||!raid [name]||Built-in raid command, to direct users to another channel at the end of a stream. If you want a custom message, you can override this command with a custom command.
[benbaptist] !raid xyntak
|!highlight now [name]||Create a highlight at the current time. Make sure you're registered on the BenBot dashboard prior to using this.
You'll receive an email at the end of the stream containing the list of highlights at the times.
You can also view a list of past highlights on the dashboard on the "Highlights" tab.
| !multistream [channels]
||Generates a multi-channel link that works between Twitch.TV and Beam using a space-separated list. Defaults to the current streaming service for each channel name.
Automatically includes the current channel.
To explicitly state which service the stream is coming from, you must prefix it with either "beam:" or "twitch:"
[benbaptist] !multistream beam:matt beam:decitm twitch:mktheworst
|!commercial [time]||If the bot is an editor in your channel, it will play a commercial for the specified amount of time.
The commercial time must be one of the following values: 30, 60, 90, 120, 150, 180
[benbaptist] !commercial 30
|Command||Description||!lastfm setuser [username]||This command changes the Last.FM username to scrobble from. This is used for the !song command.||!song||Shows the currently playing music if `!lastfm setuser` was used.||!spotify [playlist]||Spotify support
[benbaptist] !commands delete youtube
| !songrequest [Spotify URI]
!songrequest allow [everyone/subscribers/moderators]
|Add a Spotify song to the playlist using the Spotify URI. The Spotify URI of a song can be obtained by right-clicking a song in Spotify, and selecting "Copy Spotify URI".
The "allow" subcommand (mod-only) changes what users can play.
[benbaptist] !songrequest spotify:track:2olVm1lHicpveMAo4AUDRB
|!songs [clear]||If no subcommands are provided, it will print out the Spotify playlist URL, shortened with goo.gl.
`!songs clear` will wipe the playlist.
!balance [user] +/-/$[currency]
|With no arguments provided, this command will display your current balance. If a user is provided, it'll show the balance for that particular user (mod only). If you provide a currency after the user, it will change their balance (channel owner only by default, see !balancemod).
Tip: You can use the !alias command to change the name of !balance if you want.
|!balancemod [user]||This command allows you to add balance moderators - users that can arbitrarily change the balance of any user, including themselves. By default, only the channel owner may do this - even regular moderators cannot change anything. Run again with the same name to remove the moderator.
[benbaptist] !balancemod HomeDerpo
|!loyalty toggle||Toggles the loyalty system. The loyalty system is a concept in which active users are rewarded with currency when active. Viewers will receive coins by being in the channel, but active viewers whom chat will be rewarded with far more currency.
By default, the loyalty system only operates while the streamer is online. To change this, use !always_online.
[benbaptist] !loyalty toggle
|!loyalty timers [Regular Handout] [Bonus Handout]||Tweak the loyalty system's handout times in seconds. A regular handout occurs every X amount of seconds, and gives out one coin to every "active" viewer (a viewer who was spoken within the last 30 minutes by default. can be changed with !loyalty activity). A bonus handout occurs if the viewer has said at least one thing every minute since the last bonus.
[benbaptist] !loyalty timers 60 120
|!loyalty activity [Number of Minutes]||This command is used to change how long a viewer is considered 'active' until the loyalty system stops giving them coins all together. In order for a viewer to receive any coins, they must say one thing in the chat every X amount of minutes, otherwise they'll be deemed 'inactive'. Default is 30 minutes.
[benbaptist] !loyalty activity
| !gamble open [Bet Total] [Option 1, Option 2, etc...]
!gamble winner [Option]
|Commands that allow you to open bets for viewers to gamble on specific options or outcomes.
Viewers will use the !bet command to bet on their option. You will then use
[benbaptist] !gamble open 50 win, loseAs seen in the example above, propeng and andrew got 75 coins.
|!bet [Coins] [Option]||Places a bet on the specified option for the amount of coins.|| !menu set [Item] [Price] [Message ...]
!menu del [Item]
|Manage a list of items that a user can buy with !order. Items can be purchased using the bot's currency system. When an item is purcahsed, the specified message is repeated back at the user for that specific item. Currently, items have no use and is mostly a novelty. You can, however, track purchases and distribute awards manually. Certain targets can be used for the custom message, such as [[name]].
In the future, you will be able to setup automatic triggers using this system.
|!order [Item]||Allows users to purchase an "item" using their currency. A custom message will replay in their name.
Tip: you can use !alias to "rename" this command to something else - e.g. !buy, or !purchase.
[benbaptist] !order whitelist
|Command(s)||Description|| !bans caps
|Toggles auto-banning on caps lock, posting URLs, swear words, IP addresses, unclassiness, and more.
The 'global' filter is a list of users that have been globally blacklisted for extreme reasons. Any stream that has the global blacklist turned on will auto-ban these users upon contact.
All ban filters are turned off by default.
[benbaptist] !bans caps
|!permit [name]||Permits a user for three minutes so they can post URLs, talk in caps, and swear without being striked by the bot. Run it again to unpermit someone.
[benbaptist] !permit home_derpo
|!friend [name]||Permits a user permanently so they can post URLs, talk in caps, and swear without being striked by the bot. Run it again to unfriend someone.
[benbaptist] !friend home_derpo
|!forbid [term]||Prevents a specific term from being used in the chat. Run again to remove a specific term.
[benbaptist] !forbid naughty
|!verbosity [bans/all]||This command is not implemented yet.
It will eventually be used to tune the verbosity of the bot. i.e. turn off messages when someone is banned automatically by the bot.
[benbaptist] !verbosity bansNote the lack of a warning from sauceben.
|Command||Description||!set [option]||This command allows you to change general bot settings.
[benbaptist] !set meOutput
| !announce [event]||Toggles specific announcements that occur on specific events. Here's a list of events:
join - when a viewer joins the chat
part - when a viewer leaves the chat
followers - when someone follows
subscribers - when a user subscribes to the channel (Twitch/Beam partner only)
hosting - when a user hosts your channel (Beam only)
updates - reminds you when BenBot is updated and you are streaming (turned on by default)
title - prints the stream title in chat when it is changed
song - prints the currently playing
Most messages can be changed using the !setstring command. Refer to the "Strings" selection of this page for more information.
[benbaptist] !announce followers
|!setstring [key] [reset/message ...]||Allows you to change certain "strings" that the bot will use when replying to a certain action.
For example, you can change the message that's sent when a user is banned, or when a user joins the chat.
See the "Strings" selection to the left to see a list of strings that can be changed.
[benbaptist] !setstring warn.url Yo [[name]], don't post URLs in here!billybanhammer was banned in the above example and the custom message was posted.
| !quotes add [Message ...]
!quotes del [id]
!quotes sort [Old ID] [New ID]
!quotes lists add [name]
!quote list [name]
!quote [id] OR !quote
Warning: There IS a difference between
Quote database for storing quotes and randomly retrieving them with !quote.
[benbaptist] !quotes add "The day I eat a pizza, is the day that I become a man." - benbaptist
|!links||Beam.Pro only. Grabs social links from your Beam.Pro profile and shares them. Change output with
Alternatively, you can just override this command with your own custom command.
|!setcolor [color]||Twitch.TV only. Changes the color of the bot in chat. This command only works with custom bots.|
|Target||Description||[[argX]]||Uses command arguments. Replace 'X' with 1 or more. Number.
[benbaptist] !commands set greet Hello there, [[arg1]]! Do you have a [[arg2]]? [benbaptist] !greet benbaptist pizza [sauceben] Hello there, benbaptist! Do you have a pizza?
|[[args]]||Takes all command arguments (spaces and all!)
[benbaptist] !commands set greet Hello there, [[args]]! [benbaptist] !greet benbaptist and thejarren [sauceben] Hello there, benbaptist and thejarren!
|[[name]]||Returns the name of the user executing the command.
[benbaptist] !commands set hi Hey [[name]], how are you!? [benbaptist] !hi [sauceben] Hey benbaptist, how are you!?
|[[randomquote]]||Uses a random quote from the quotes library. See docs for the !quotes command above, to add new quotes to the library.
[benbaptist] !commands set love [[arg1]], I'm here for you. Here's a beautiful quote: [[randomquote]] [benbaptist] !love SpasticPenguin [sauceben] SpasticPenguin, I'm here for you. Here's a beautiful quote: "Don’t cry because it’s over, smile because it happened."
|[[randomquote:X]]||Uses a random quote from the specified quote list. Can be used for easily retriving quotes from a specific list, or having custom commands that output a random command.
[benbaptist] !quote lists add joke
|[[balance]]||Shows the command runner's balance.
[benbaptist] !commands set checkup Hey [[name]], you have [[balance]] coins and a serious case of the hiccups! [benbaptist] !checkup [sauceben] Hey benbaptist, you have 520 coins and a serious case of the hiccups!
|[[count]]||Shows how many times the command was run. Useful for making counters.
[benbaptist] !commands set fails Ben's fail counter: [[count]] [benbaptist] !fail [sauceben] Ben's fail counter: 1
|[[stream_title]] and [[stream_game]]||
Uses the stream's title or stream's game respectively.
[benbaptist] !commands set nowplaying Hey [[name]], we're doing "[[stream_title]]" and we're currently playing [[stream_game]]!
|[[raffle]] and [[raffle:subs]]||Randomly pick from a viewer in chat. [[raffle:subs]] isolates to subscribers only.
Due to Twitch API limitations, the bot only knows if a viewer is a subscriber if they've said something in chat.
|Description||Default String||Supported Targets|
Appended to the end of the first warning.
|First strike.||[[name]] - Person being timed-out or banned|
Appended to the end of the second warning.
|Second strike.||[[name]] - Person being timed-out or banned|
Appended to the end of the third and final warning.
|Third strike - last chance.||[[name]] - Person being timed-out or banned|
Appended to the end of the banned message when a viewer used up their strikes.
|You're banned for 24 hours!||[[name]] - Person being timed-out or banned|
Sent when a viewer posts a URL without a permit with
|Please do not post URLs, [[name]].||[[name]] - Person being timed-out or banned|
Sent when an unpermitted viewer types too much caps with
|Cool down on the caps lock, [[name]].||[[name]] - Person being timed-out or banned|
Sent when an unpermitted viewer posts a term forbidden with
|That word is not permitted here, [[name]].||[[name]] - Person being timed-out or banned|
Sent when an unpermitted viewer sends gibbiersh, spammy, or overly repetitive messages with
|Spam does not taste good, @[[name]].||[[name]] - Person being timed-out or banned|
Sent when a viewer joins the channel if you have
Ettiquite warning: please respect the privacy and lurkosity of others. In most cases, it is generally frowned upon to call-out lurkers.
|Welcome to the stream, [[name]].||[[name]] - Viewer that joined channel|
Sent when a viewer leaves the channel if you have
|Goodbye, [[name]].||[[name]] - Viewer that joined channel|
Sent when a viewer follows the channel, if you have
|Thanks for following, [[name]]! <3||[[name]] - Viewer that followed the channel|
Sent when a viewer subscribes to the channel, if you have
|Thanks for subscribing, [[name]]!! <3||[[name]] - Viewer that subscribed to the channel|
Sent when a viewer hosts the channel, if you have
|Thanks for subscribing, [[name]]!! <3||[[name]] - Viewer that hosted the channel|
Sent when a commercial is being played using the
|Playing a commercial now - thanks for supporting this stream.||None|
Changes the name of the currency used for the loyalty system.
The text displayed when running
|BenBot's documentation can be found here: http://benbot.rocks/ Do '!help list' for a comma-separated list of commands||None|