The short answer
The StreamElements chatbot ships 69 default commands. They cover points (!points, !watchtime, !top), games (!slots, !roulette, !duel), raffles (!raffle, !join), song requests (!songrequest, !skip), the store (!items, !redeem), moderation (!nuke, !permit) and small extras such as !8ball, !quote and !uptime. Your own StreamElements chat commands are the ones you made in the Custom Commands panel. Bloopbot can bring those over for you, and it has an equivalent for most of the defaults, either built in or as a ready-made flow pack you switch on. The table below lists each StreamElements command, and says plainly where Bloopbot has nothing.
To move your own commands, use the importer. It reads your public StreamElements command list and turns each command into a flow, with its permission level, cooldowns and ${...} variables, and you don’t sign in to StreamElements. Import your commands walks through it.
StreamElements’ default commands in Bloopbot
Every StreamElements command below comes from its default commands list. In Bloopbot, a pack is a set of ready-made flows you add from Flows › Marketplace. Packs arrive paused, so switch on the ones you want.
| StreamElements command | What it does in StreamElements | In Bloopbot |
|---|---|---|
!points, !watchtime, !top, !leaderboard | Show a viewer’s points and rank, their watch time, the top users, and a link to the leaderboard | !points, !watchtime and !top from the Loyalty pack (check points from chat). To show a leaderboard on stream, use the Leaderboard layer (show a leaderboard on stream) |
!givepoints | Gives your points to another viewer | !give name amount in the Loyalty pack |
!addpoints, !setpoints | Add points to a viewer, or set their balance | !addpoints, !setpoints and !removepoints for moderators, in the Loyalty pack |
!slots, !roulette, !duel, !accept | Points games and duels | The same four commands in the Minigames pack, plus !heist (play points games with chat) |
!deny, !cancelduel | Turn down a duel, or cancel one you sent | No equivalent. A duel nobody accepts within a minute ends and the points go back (how duels work) |
!bet, !contest | Bet points on a contest, and show its status | Moderators open a bet with !bets and viewers place theirs with !bet, from the Minigames pack. An open bet’s odds show on the games card on stream |
!bingo | Emote bingo for points | No equivalent |
!raffle, !sraffle, !cancelraffle | Start a multi-winner or single-winner raffle, or cancel one | !giveaway open, close, draw and cancel from the Giveaway pack, with one or more winners (run a giveaway in chat) |
!join, !ticket, !giveaway | Enter a raffle, buy tickets, see the giveaway’s status | Viewers type !enter, or !enter 3 for several tickets, or the giveaway’s keyword. In Bloopbot !join belongs to the viewer queue |
!songrequest, !song, !wrongsong | Request a song, show the current one, remove your last request | !sr song name, !song and !wrongsong from the Song requests pack (take Spotify song requests) |
!next, !songqueue, !when | Show the next song, link the queue, show your place | !queue shows upcoming songs, and !srstatus shows where you stand |
!skip, !removesong, !srclear | Skip the song, remove one, clear the queue | !skip and !remove 2 or !remove @name for moderators. Clear the queue with Clear queue… on the Song requests page |
!pause, !play, !volume, !voteskip | Control the player and vote to skip | No equivalent. Bloopbot requests play through your own Spotify Premium account, so playback is controlled in Spotify |
!queue | Manage a viewer queue for playing with the streamer | The Viewer queue pack: !join, !leave, !waitlist, and !next for moderators (run a viewer queue). In Bloopbot !queue shows the song queue |
!items, !redeem | Link the store, redeem an item with points | !store lists what is for sale and !buy name buys it, from the Points store pack (let viewers spend points) |
!openstore, !closestore, !enablesfx, !disablesfx | Switch store items on or off | No single switch, and no separate sound-effect group. Untick For sale on an item, or switch the store flows off |
!alerts | Mute, skip or pause overlay alerts | !skip, !pause, !resume and !replay for moderators, from the Mod commands pack (control the queue while you are live). Both that pack and the song pack use !skip, so rename one if you add both |
!editcounter | Set, add to or take from a counter | !deaths and !deaths + (moderators) in the Starter pack, and you can copy the flow for - and set (start from the Counter templates) |
!hypecup | Clear the HypeCup list | No equivalent |
!setgame, !settitle | Change the game category or stream title | !game and !title in the Mod commands pack (add a helper flow) |
!timer | Turn chat timers on or off | A moderators-only command flow with a Turn flows on or off step, pointed at your timer flows (post a recurring chat message) |
!permit | Lets a viewer post a link for a short time | Built in for moderators: !permit username, 60 seconds unless you change it on Moderation |
!nuke | Times out, bans or deletes messages that match text or a regex | !nuke in the Mod commands pack, with a phrase or /regex/, how far back to look, and timeout, delete or ban. Nukes can be rolled back from the Nukes page (what moderators can do from chat) |
!nukeusername, !votekick, !filesay, !level | Nuke by username, vote to kick, send lines from a URL, override a permission level | No equivalent |
!vanish | Times you out for a second to clear your messages | No ready-made flow. Build it as a command flow with a Time out step that acts on the viewer who typed it |
!bot, !module | Mute or remove the bot, switch chatbot modules on or off | Nothing to type. Switch filters on Moderation and flows on Flows, and the bot joins when you connect your channel |
!command | Add, remove or edit commands from chat | You make and change commands on Flows, in a form or on the canvas (create your first chat command). There is no chat command for it |
!commands | Links to your public command list | !commands replies with your public Commands page, from the Commands link flow in the Starter pack (point viewers at your Commands page) |
!8ball | A random magic 8-ball answer | A command flow with a Pick at random step set to One from a list (pick something at random) |
!quote | Show random quotes or manage the list | !quote, !quote 2 and !quote add from the Quotes step (save and share quotes) |
!emotecount, !emotes | Count an emote’s use, list your emotes | No equivalent |
!kappagen | An emote explosion on stream | The Emote Wall layer, with a Rain emotes step in any flow (rain emotes from a flow) |
!uptime | How long the stream has been live | A command flow that replies with $(data.stream.started_at_ago). The importer builds this one for you |
!accountage, !followage, !chatstats | A viewer’s account age or follow time, and chat statistics | No equivalent |
!tip | Links to your tipping page | A command flow with your link as its reply (create your first chat command) |
Your own commands and their variables
A command you made in StreamElements becomes a flow: a Chat command trigger, a check for its permission level or cooldowns, and a Chat message with the reply. StreamElements writes variables as $(...) or ${...} and says the two are interchangeable. Bloopbot uses $(...), and the importer rewrites each one it can answer.
| StreamElements variable | In Bloopbot |
|---|---|
${user}, ${sender}, ${source} | $(user), the viewer who typed the command |
${touser} | $(touser), the first word or the viewer |
${1} to ${9} | $(1) to $(9). The rest of the message, ${1:}, is $(query) |
${count}, ${count deaths}, ${getcount deaths} | A declared variable that a Set a variable step changes, read back as $(var.name) (keep a counter with variables) |
${random.1-6}, ${random.pick 'a' 'b'}, ${random.chatter} | A Pick at random step: A number, One from a list or Someone in chat |
${uptime} | $(data.stream.started_at_ago) |
${game} | $(data.stream.category) |
${title}, ${status} | $(data.stream.title) |
${channel} | $(channel), your channel’s login name |
${pointsname}, ${user.points} | $(currencies) and $(points), from Bloopbot’s own loyalty points |
${math ...} | A Do some maths step: add, subtract, multiply or divide |
${if ...} | A Switch on a word step with a Chat message for each answer |
${customapi.https://...} | A Web request step whose answer the reply reads |
${settitle ...}, ${setgame ...} | A Set title or category step |
${time}, ${weather}, ${repeat}, ${ai}, ${stockprice}, ${queryescape} and the emote lists | No equivalent. The importer keeps the reply as written and brings the command in paused |
Variables in the migration guide has the full list, including ${user.name}, ${channel.followers} and the viewer lookups. A field that takes variables also shows an Insert… menu with exactly what that step can read.
What works differently
- Loyalty points start fresh. Bloopbot keeps its own balances, so a viewer’s StreamElements points don’t carry over. The importer brings commands over, but not points, timers, spam filters or quotes.
- Commands live on a page, not in chat. You build and edit them on Flows, where each one can do more than reply: add a check, keep a count, show an alert or start a poll.
- Moderators still run the stream from chat.
!permit,!filters,!blacklistand!whitelistare built in for moderators, and packs add the rest. - Song requests use Spotify. StreamElements’ queue plays YouTube links. Bloopbot’s plays through your own Spotify Premium account.
- Overlays are separate. StreamElements’ alerts and overlay widgets become Bloopbot overlays, each added to OBS as its own Browser Source (move your overlay and alerts).
- Only one bot should answer. Once a Bloopbot flow does a command’s job, switch that command off in StreamElements, so chat doesn’t get two replies (turn off the old bot).
Troubleshooting
- A command gets two replies. StreamElements is still answering it. Switch the command off in the StreamElements dashboard.
- The importer doesn’t list a command. It reads your public command list, so a command you hid there isn’t shown. Rebuild it by hand, or make it visible in StreamElements and run the importer again.
- A moderator command does nothing. Check the person has the moderator badge in your chat, and that the bot is a moderator too.
- A reply shows
$(...)text. The variable isn’t declared on Variables, or the token is misspelled. Pick it from the Insert… menu instead of typing it. - The bot doesn’t answer at all. Check the flow is switched on. Troubleshooting covers commands that stay silent.
Was this guide helpful?
Thanks. Your answer helps us decide which guides to improve.