Guide · updated October 18, 2026

StreamElements Commands

StreamElements has about 70 default commands, such as !uptime, !followage, !points and !song. Moderators add custom commands from chat with !command add !name response (or the shorter !cmd add), or in the dashboard under Chatbot → Chat Commands → Custom commands. Variables like $(user), $(touser) and $(count) fill in live values.

Manage custom commands from chat

Moderators and the broadcaster can create and change commands without opening the dashboard. !cmd works anywhere !command does.

ActionExample
Add!cmd add !socials Follow me on X: https://x.com/yourname
Edit!cmd edit !socials Check out my links: https://example.com/links
Remove!cmd remove !socials (also delete, del, rem)
Show settings!cmd show !socials
Add alias!cmd alias add !socials !links
Remove alias!cmd alias remove !socials !links
Set options!cmd options !socials -cd 10 -usercd 30 -level 100

Command options

Use !command options !name followed by one or more flags:

FlagWhat it sets
-cd 10Global cooldown in seconds (nobody can use it again until it expires).
-usercd 30Per-user cooldown in seconds.
-level 500Minimum access level: 100 Everyone, 250 Subscriber, 300 Regular, 400 VIP, 500 Moderator, 1000 Super Moderator.
-cost 50Loyalty points charged per use (needs the Loyalty system enabled). Users without enough points get no reply.
-type whisperHow the bot answers: say (default), reply, mention or whisper.
-trigger !linksRenames the command.
-enable / -disableTurns the command on or off.
-count 0Sets the command’s usage counter, used by $(count).

Add a command in the dashboard

  1. In the StreamElements dashboard, open Chatbot → Chat Commands and select the Custom commands tab.
  2. Click Add new command.
  3. Type the name in Command name (for example lurk) and pick a User level.
  4. Enter the response in the Reply field. Optionally change Response type to Say, Mention, Reply or Whisper.
  5. Under Advanced settings, add aliases, a global or user cooldown, a points cost, or conditions such as only running while you’re live.
  6. Click Activate command.

StreamElements variables

Variables are written $(name), and the brace form ${name} is interchangeable: ${user} is the same as $(user). They can be nested, like $(weather ${1:}).

VariableOutputs
$(sender)Display name of whoever used the command.
$(user)The name typed after the command, or the sender. Sub-fields: $(user.points), $(user.lastseen), $(user.time_online), $(user.level) and more.
$(touser)First word after the command exactly as typed (an @ is kept), or the sender’s name.
$(1), $(1:), $(2:4)Words of the message by position; $(1:) is word 1 to the end. $(1|everyone) sets a fallback.
$(count)Increments and shows a counter. $(count deaths) uses a named counter; +5, -1 or 0 after the name adjusts or sets it.
$(getcount deaths)Shows a counter without changing it.
$(uptime)How long the stream has been live, or <not live>. Accepts a channel name.
$(game) / $(title)Current category / stream title. Both accept a channel name, e.g. $(game shroud).
$(channel.followers)Channel data. Other fields: display_name, viewers, chatters, subs (own channel), uptime.
$(random.1-6)Random number in a range. $(random) alone is 1 to 100.
$(random.pick a b c)One random item. Quote multi-word items or use a,b,c.
$(random.chatter) / $(random.emote)A random active chatter / a random channel or global emote.
$(customapi https://...)First 400 bytes of a URL’s response (GET only). Alias: $(urlfetch).
$(time America/New_York)Current 24-hour time in a timezone (UTC if none). $(time.until 19:00) counts down.
$(if condition then else)Conditional output.
$(math 2*3.9)Calculation result.
$(pointsname)Your loyalty points name.

Ready-to-copy StreamElements commands

Paste these into your chat as a moderator or the broadcaster. Swap in your own links and names.

CommandPaste this in chat
!discord!cmd add !discord Join the community Discord: https://discord.gg/yourinvite
!socials!cmd add !socials YouTube: https://youtube.com/@you | TikTok: https://tiktok.com/@you | X: https://x.com/you
!lurk!cmd add !lurk $(sender) is lurking. Thanks for keeping the stream company! $(random.emote)
!hug!cmd add !hug $(sender) gives $(touser) a big warm hug!
!stream!cmd add !stream The stream has been live for $(uptime). We're playing $(channel.game) for $(channel.viewers) viewers!
!followers!cmd add !followers $(channel.display_name) has $(channel.followers) followers
!so!cmd add !so Check out ${1}, they are playing $(game ${1}) at https://twitch.tv/${1}
!death (mods)!cmd add !death Deaths: $(count deaths)
!deaths!cmd add !deaths We have died $(getcount deaths) times so far
!resetdeaths (mods)!cmd add !resetdeaths Death counter reset ($(count deaths 0))
!dice!cmd add !dice $(sender) rolls the dice... it's a $(random.1-6)!
!coinflip!cmd add !coinflip $(sender) flipped a coin: $(if $(random.pick 1,0) Heads Tails)
!food!cmd add !food Tonight's dinner: $(random.pick 'pizza' 'pasta' 'tacos' 'sushi')
!lastseen!cmd add !lastseen $(user) was last seen $(user.lastseen) ago
!weather!cmd add !weather $(sender), weather in: $(weather ${1:})
!time!cmd add !time It's $(time America/New_York) for the streamer

Commands marked “mods” should be locked down after you add them, for example:

!cmd options !so -level 500

!cmd options !death -level 500

!cmd options !resetdeaths -level 500

For shoutouts with Twitch’s follow button, see the Twitch shoutout command guide.

Default StreamElements commands

Access is the default level; you can change it per command under Chatbot → Chat Commands → Default commands.

Stream info and utility

CommandAccessWhat it does
!uptimeEveryoneHow long the stream has been live (alias !downtime).
!followageEveryoneHow long a user has followed: !followage [user] [channel]. Twitch only.
!accountageEveryoneWhen a Twitch account was created.
!chatstatsEveryoneLink to your chat statistics page.
!tipEveryoneLink to your tipping page.
!commandsEveryoneLink to your public command list.
!commandModeratorAdd, remove, edit or alias custom commands (alias !cmd).
!botSuper ModeratorMute, unmute or remove the bot (!bot part).
!moduleSuper ModeratorEnable or disable chatbot modules.

Stream management and moderation

CommandAccessWhat it does
!settitleSuper ModeratorChange the Twitch stream title.
!setgameSuper ModeratorChange the Twitch category.
!timerModeratorEnable or disable chat timers.
!editcounterModeratorSet, increase or decrease counters.
!alertsModeratorMute, skip or pause overlay alerts.
!hypecupSuper ModeratorClear the HypeCup overlay list.
!permitModeratorLet a user post links temporarily.
!nukeSuper ModeratorTimeout, ban or delete recent messages matching text or regex.
!nukeusernameSuper ModeratorTimeout or ban users whose names match text or regex.
!filesaySuper ModeratorSend multiple lines from a URL to chat.
!levelSuper ModeratorView or override user permission levels.
!votekickModeratorStart a vote to temporarily kick a user.
!vanishEveryoneTime yourself out for 1 second to clear your messages.

Points, games and giveaways

CommandAccessWhat it does
!pointsEveryoneYour (or another user’s) points and rank.
!watchtimeEveryoneAccumulated watch time.
!top / !leaderboardEveryoneTop users by points or watch time / leaderboard link.
!givepointsEveryoneTransfer your points to another user.
!addpoints / !setpointsSuper ModeratorAdd to or set a user’s points.
!duel, !accept, !deny, !cancelduelEveryonePoints duels.
!roulette / !slotsEveryoneGamble points.
!bet / !contestEveryoneBet on / check the active contest.
!bingoModeratorEmote bingo game.
!raffle / !sraffle / !cancelraffleModeratorStart a multi-winner or single-winner raffle, or cancel it.
!joinEveryoneEnter the active raffle.
!giveaway / !ticketEveryoneGiveaway status / buy tickets.
!items / !redeemEveryoneLoyalty store link / redeem an item.
!openstore, !closestore, !enablesfx, !disablesfxModeratorTurn store items or sound effects on and off.

Song requests, queue and fun

CommandAccessWhat it does
!songrequestEveryoneRequest a YouTube song or video.
!song / !nextEveryoneCurrent / next song.
!when / !wrongsongEveryoneYour request’s queue position / remove your last request.
!voteskip / !volumeEveryoneVote to skip / check or set the player volume.
!skip, !pause, !play, !removesong, !srclear, !songqueueModeratorControl and clear the request queue.
!queueEveryoneViewer queues, e.g. for playing with the streamer.
!8ballEveryoneMagic 8-ball answer.
!quoteEveryoneRandom saved quote, or manage quotes.
!emotes / !emotecountEveryoneList channel emotes / how often an emote is used.
!kappagenModeratorEmote explosion on the Kappagen overlay.

Using Nightbot instead? Its syntax is different; see the Nightbot commands guide. To show chat on stream without bot spam, our free Twitch chat overlay can hide bots and ! commands.

Frequently asked questions

Is it !cmd or !command in StreamElements?

Both. !cmd is an alias of !command, so !cmd add !socials ... and !command add !socials ... do the same thing.

Why does !command add not work for my moderator?

The !command default command needs Moderator access by default. Check that it hasn’t been disabled or had its level raised under Default Commands in the StreamElements dashboard.

What is the difference between $(user) and $(sender)?

$(sender) is always the person who typed the command. $(user) targets the name typed after the command when there is one, and falls back to the sender otherwise. Both have sub-fields such as .points and .lastseen.

Do StreamElements variables work on YouTube and Kick?

Most do. StreamElements notes that $(user) and its sub-variables, $(game) and $(redeem) are not available on YouTube. Some default commands, like !followage, are Twitch-only.

How do I reset a command counter?

Run !command options !name -count 0 to reset a command’s own counter, or put $(count name 0) in a mod-only command to reset a named counter. Named counters are also editable in the dashboard under Chatbot → Counters.

Sources: StreamElements docs: Custom commands · StreamElements docs: !command · StreamElements docs: Default commands · StreamElements docs: Getting started · StreamElements docs: Variables cheat sheet · StreamElements docs: Death counter guide

Free tools for this