Chatbot

InstiBot commands and variables reference

Every built-in chat command and every $(variable) you can use in InstiBot commands and timers, with syntax, who can use it and an example of each.

How to read this page

Commands are shown with the default ! prefix; if you changed the prefix in Settings, use yours. Words in angle brackets are values you replace, words in square brackets are optional. Every default command can be renamed, given aliases or limited to a rank under Chat Bot → Commands → Default commands.

Variables are written $(name) inside a command or timer message. Names are not case-sensitive. A variable that can’t be resolved is left as plain text.

Chat and stream commands

CommandWhoWhat it does
!commandsAnyonePosts the link to your public command list.
!uptimeAnyoneHow long the stream has been live.
!followage [@viewer]AnyoneHow long a viewer has followed, counted from follows InstiBot has seen.
!title [new title]ModeratorShows the title, or changes it on Kick (and Twitch if connected).
!game [category]ModeratorShows the category, or changes it to the best match. Alias !category.
!so @viewerModeratorShoutout with a link and the Shoutout overlay. Aliases !shoutout, !promo.
!addcom !name messageModeratorCreates a custom command.
!editcom !name messageModeratorChanges a custom command’s message.
!delcom !nameModeratorDeletes a custom command.
!permit @viewerModeratorLets a viewer post one link while link protection is on.
!quote [add text | number | word]Anyone (add and delete: Moderator)Shows, searches, adds or deletes community quotes.
!scheduleAnyoneYour next planned stream. Alias !nextstream.
!clip [title]AnyoneKick only: clips the last 30 seconds, or saves a marker you can cut later.
!appealAnyonePosts the unban request link when appeals are on.
!level / !xp [@viewer]AnyoneLevel and XP, when the level system is on.
!birthday DD/MMAnyoneSaves a birthday for birthday greetings.
!tts messageAnyone (off by default)Reads a message aloud on the TTS widget, for a price in points.

Points and interaction commands

Every mini-game also has its own commands, such as !roulette, !slots, !heist and !crash. Each game’s guide lists them with examples.

CommandWhoWhat it does
!points [@viewer]AnyoneShows a viewer’s points.
!give @viewer amountAnyoneGives some of your points to another viewer.
!topAnyonePosts the link to your points leaderboard.
!watchtimeAnyoneTime active in chat.
!shopAnyonePosts the link to your points shop.
!redeem item nameAnyoneRedeems a shop item from chat.
!addpoints @viewer amountOwnerAdds points; a negative amount removes them.
!sr songAnyoneRequests a song (YouTube). Also !song, !wrongsong, !skip.
!join / !leave / !queueAnyoneThe viewer queue. Moderators use !next and !pick.
!bet option amountAnyoneBets on a community prediction.
!giveaway start prize [5m]ModeratorStarts a giveaway from chat. Viewers enter with !enter by default.
!poll Question | Option 1 | Option 2 60sModeratorOpens a poll. Viewers vote with !vote and a number.

Variables

VariableReturnsExample
$(user)The viewer who used the commandHi $(user)!
$(touser)The first word after the command without @, otherwise the viewer$(user) hugs $(touser)
$(args)Everything written after the commandYou said: $(args)
$(1), $(2) …The first, second … word after the commandRating $(1) out of 10
$(channel)Your channel nameWelcome to $(channel)
$(random 1-100)A random number in the rangeYou rolled $(random 1-6)
$(random a,b,c)A random pick from the listTonight: $(random apex,valorant,chess)
$(randomchatter)A random viewer who chatted in the last 10 minutes$(randomchatter) gets the next shoutout
$(count)How many times this command has been usedUsed $(count) times
$(uptime)How long the stream has been live, or offlineLive for $(uptime)
$(title), $(game)The current title and categoryNow playing $(game)
$(followage)How long the viewer has followedFollowing for $(followage)
$(points), $(pointsname)The viewer’s points and your currency name$(points) $(pointsname)
$(watchtime), $(level), $(xp), $(rank)The viewer’s time in chat, level, XP and leaderboard placeRank #$(rank)
$(time Europe/London)The current time in a time zoneIt is $(time America/New_York) in New York
$(countdown 2026-12-31T20:00)Time left until a date and timeEvent starts in $(countdown 2026-12-31T20:00)
$(math 2*3)A calculation with + - * / % ^ and brackets$(math 1500/3) each
$(counter deaths)The value of a chat counterDeaths: $(counter deaths)
$(nextstream)Your next planned streamNext stream: $(nextstream)
$(urlfetch https://…)Text returned by a web address (Premium)$(urlfetch https://example.com/status)

Good to know

  • Viewer variables such as $(points) and $(rank) read the viewer on the platform the command came from. Viewers on Kick and Twitch are counted separately.
  • In timers, $(user) is your own name and $(count) has no value, so leave it out of timer messages.
  • $(followage) only knows follows InstiBot has seen, because Kick offers no list of older followers.
  • Messages longer than a platform allows are shortened on Kick and split into up to three messages on YouTube.