Recipes.
Copy-ready command responses for the trickier variables: shoutouts, weather, dice, counters, League ranks and the built-in mod commands. Drop one into a command, tweak the wording, and go.
Shoutouts
A rich shoutout pulls everything about the last person mentioned. The viewer types the command followed by a name, and $(touser) resolves that channel along with its profile fields.
Go follow $(touser) at $(touser.url). Last seen playing $(touser.game) with $(touser.followers) followers!A live-aware shoutout reads the target's stream state, so the wording changes depending on whether they are live right now.
$(touser) is currently $(touser.status). Check them out: $(touser.url)Weather
Fully plug-and-play, no API key required. It uses wttr.in, a free weather service. Make a new command, turn on API call, and copy these exact settings in. A viewer types !weather London and gets a one-line forecast back.
API URL: https://wttr.in/$(querystring)?format=3
Method: GET
Response type: Text
Response text: $(api)That returns the whole line ready-made, for example London: ⛅️ +12°C. Want to word it yourself? Switch the response type to JSON and read fields by path:
API URL: https://wttr.in/$(querystring)?format=j1
Response type: JSON
Response text: $(query): $(api.current_condition.0.weatherDesc.0.value), $(api.current_condition.0.temp_C)°C (feels $(api.current_condition.0.FeelsLikeC)°C)$(querystring) URL-encodes whatever the viewer typed so a city like "New York" is sent safely. Use $(query) (the raw text) only in the visible reply, never in the URL.
Random fun
A magic 8-ball picks one answer at random each time with $(pick a;b;c).
🎱 $(pick yes;no;maybe;ask again later)A damage roll combines the runner, a target and a random number in one line.
$(user) hits $(touser) for $(random 1-100) damage!Counters
A death counter reads a named counter with $(count.<name>). Bump it elsewhere (a hotkey or a separate command) and this line always reflects the current total.
$(channel) has died $(count.deaths) times this stream.League of Legends
Look up a fixed player's rank with the Riot integration. Pass a Riot ID and region, or swap in $(query) to let viewers ask about anyone.
$(touser) is ranked $(lol.rank Faker#KR1 kr)Channel status
A quick status line mixes your title and follower count into one reply.
$(channel) is $(status), $(followers) followers.Plus Points come straight from Twitch when your channel is in the Plus Program, whether or not you show the bar to your viewers. When you are not in it, we count them ourselves, which lands close but is not exact. $(pluspoints) shows a number whenever we have any reading at all, which is every time you have had a paid sub this month or Twitch has answered for you. $(pluspoints.next) and $(pluspoints.threshold) always show a number too: Twitch's own when it has answered for your channel, otherwise worked them out from your count against the 100 and 300 thresholds, so a line like "35/100 with 65 to go" reads properly off stream. $(pluspoints.level) is the exception and stays empty until Twitch has answered, so a level you put on stream is always a real one. The first time you use any of these after a quiet spell we ask Twitch in the background, so running the command again a moment later shows Twitch's own figures. $(pluspoints.level) is your standing in the program and does not move with your monthly total: you can be level 2 early in a quiet month. If you would rather we always used our own count, turn it off in Bot Settings. One change to note: anything else after the dot, like $(pluspoints.anything), now renders as nothing instead of quietly repeating the points number.
Built-in mod commands
These are not responses you configure: !marker and !poll are built-in commands your mods type straight into chat. Drop a stream marker at the current moment with an optional label.
!marker clutch playOr start a Twitch poll with a question, semicolon-separated choices, and a duration in seconds.
!poll "Next game?" Mario;Zelda;Metroid 120A token with no value renders as nothing, so a missing follower count or an off target never breaks the reply. Module and integration tokens need their module or integration switched on first.