Home Nightbot StreamElements Streamlabs Cloudbot Streamlabs Chatbot DeepBot Donate Contact

ATTENTION MOBILE USERS: You can activate a navigation menu by clicking the upper right corner of the black bar above. Also, tutorial videos are located BELOW each table.

Nightbot Basic Commands

These are basic commands that I recommend for any channel. In the case of the socials area, you can use EITHER each individual one, or all, depending on your needs. As for commands like !welcome or the social style links, you can save time and effort by entering these as commands then using the "Alias" field in your timers to call these commands instead of typing them twice. It also makes updating them all at one time easier as well.
NOTE: Many of these commands require you to personalize some part of them. Anywhere you see a block of ALLCAPSTEXT, you need to replace those with your own information like a link or channelname. I also encourage you to perosnalize some of the messages for your own channel. If you want more info on this, feel free to stop by my Twitch Channel on Tuesdays, Thursdays or Saturdays from 3-6 pm Eastern.

Desired action Command Code Notes Source/Credit
Share your Discord server !discord

!addcom !discord Please join my Discord server at ENTERYOURLINKHERE

When you generate a link in discord, make sure it's a permanent link N/A
Donate Command !donate

!addcom !donate While donations are never required, they are always appreciated! Donate here: LINKGOESHERE

You can either generate a Donations link to work with your OBS (StreamElements or Streamlabs) or use a PayPal Link ToeKneeTM
Encourage people to follow you !follow

!addcom !follow If you like what you see, make sure to hit that follow heart! bleedPurple

This should actually be used in your welcome command, but nice to have N/A
List all of your social media links in one command !socials

!addcom !socials Follow me on all my social media accounts TWITTERLINKHERE, INSTALINKHERE, TIKTOKLINKHERE, OTHERLINKSHERE

Use whatever socials you are actually active on, and/or do them individually N/A
Share a clickable link to your instagram !insta

!addcom !insta Follow me on Instagram at INSTALINKGOESHERE

Always copy and paste your links instead of just user id, makes it EASIER for people to find you! N/A
Share a clickable link to your Twitter !twitter

!addcom !twitter Follow me on Twitter to stay up to date: TWITTERLINKGOESHERE

Always copy and paste your links instead of just user id, makes it EASIER for people to find you! N/A
Share a clickable TikTok link !tiktok

!addcom !tiktok Be sure to follow my TikTok to get the latest videos! TIKTOKLINKGOESHERE

Always copy and paste your links instead of just user id, makes it EASIER for people to find you! N/A
Welcome People to your stream !welcome

!addcom !welcome Welcome to my channel. If you like what you see, don't forget to click that follow heart. I also invite you to subscribe to help support the channel!

Tailor the message to YOUR CHANNEL. If you have a term you use to describe your community, use it here. This command should also be tied to a timer using the !alias field. Tutorial video coming soon! N/A
Invite people to support your channel !support

!addcom !support The best and easiest way to support my channel is to subscribe. https://www.twitch.tv/YOURCHANNELNAMEHERE/subscribe . You can also tip bitties or donate; !donate for details.

Sell your self! You can set this as a timer as well. The more commands, the more possible reach! N/A
Clickable link to subscribe to your channel !sub

!addcom !sub While subbing is always optional, it's a great way to support the stream and to enjoy ad free viewing as well as emotes, etc. https://www.twitch.tv/YOURCHANNELNAME/subscribe

This is one I encourage you to personalize. If you don't have emotes, then you don't want to advertise them. If you have a Discord with sub perks, include that. N/A
Example of non ! command nightbot

!addcom nightbot /me is always here lurking Kappa

This is an example of a non exclamation command. Nightbot and streamlabs local chatbot are capable of this. I like to give nightbot "sass". ToeKneeTM
A way to share this website and support! !chatbotcommands

!addcom !chatbotcommands You can find many of the commands used on this channel with an easy to copy and paste format and tutorials at chatbots.toekneetm.com toekne6Bot

Please feel free to add this to your chatbot to help share this knowledge and promote this free site. I keep Nightbot subbed for the emote. Mucho love! ToeKneeTM





Please take a moment to subscribe to my YouTube Channel. Thanks!

Nightbot Extended Commands

While these are fairly standard commands for the most part, they all contain some type of “code” that executes a function or returns information based on the command and input. Any parts that start with $ are fairly relevant to the command, and need to be included in any edit. One quick thing: $(user) returns the name of the person who types the command while $(touser) returns the word right after the command and space, which in most cases is meant to be another user. If nothing is typed after the command, then it defaults to the user who sent the command. For example, someone using !so without a word after the command will in effect shout themselves out. Once again, the best place for answers is my live stream on Twitch at Twitch.tv/ToeKneeTM every Tuesday, Thursday or Saturday from 3-6 pm Eastern. I simply cannot answer all emails for help.

Desired action Command Code Notes Source/Credit
Common lurk command !lurk

!addcom !lurk Thank you for the lurk $(user). If you need to mute, please mute the tab and not my stream. See you soon!

This allows a user to tell you they are still there and care. If they don't mute the actual stream, it is more likely that they will count as a viewer. ToeKneeTM
Percentage Something Generator !cracked

!addcom !cracked $(touser) is $(eval Math.floor((Math.random() * 100)))% cracked.

You can change this to love, happy, peaceful, whatever. For random number generator, see !number ToeKneeTM
Let a user see how long they've been following !followage

!addcom !followage $(urlfetch https://2g.be/twitch/following.php?user=$(touser)&channel=$(channel)&format=mwdhms)

Personal preference is to use StreamElements or Streamlabs as this calls a 3rd party server that doesn't always respond. NightBot Devs Website
Shoutout another Streamer or Viewer !so

!addcom -ul=mod !so Go check out $(touser) at Twitch.tv/$(touser) next time they are playing $(twitch $(touser) "{{game}}")

Syntax is !so USERNAME. Moderator level. I encourage you to customize this one. and the game section is NOT required. ToeKneeTM
Return your channel subcount !subcount

!addcom !subcount $(twitch $(channel) "{{displayName}} has $(twitch subcount) subscribers.")

Twitch corrected the subcount issue in August 2020 so now it returns the correct count. (A previous version of this command subtracted 1 sub) ToeKneeTM
Return your current stream uptime !uptime

!addcom !uptime $(twitch $(channel) {{displayname}} has been live for {{uptimeLength}})

This returns how long your current stream has been live. ToeKneeTM
Random number generator !number

!addcom !number $(eval Math.floor((Math.random() * 100) +1))

This will return a number between 1 and 100. To change the number range, simply set the number next to the * for the max number and the number by the + to the minmum. This is used for the popular PP command with 0 and 15 or so LOL. Just change the command name and add $(touser) has a SYNTAX inch pp. N/A
Single Any-Sided Dice Command !dice

!addcom !dice $(user) just rolled a $(eval Math.floor((Math.random() * $(query)))) on a $(query) sided die.

This will roll an any-sided die. For example !dice 20 will roll a 20 sided dice. If you want a fix die, use the random number gen above. ToeKneeTM
Two Any-Sided Dice Command !2dice

!addcom !2dice $(user) just rolled a $(eval Math.floor((Math.random() * $(query)))) and a $(eval Math.floor((Math.random() * $(query)))) on 2 $(query) sided dice.

This will roll two any-sided dice. For example !dice 20 will roll 2 20 sided dice. ToeKneeTM
2 user command !cookie

!addcom !cookie $(user) gave $(touser) a cookie!

This is an example of how to have one user "interact" with another user. Another example would be like a high five. Or you could add the above number genrator to say user1 loves user2 %. ToeKneeTM
Extended 2 user Command !hug

!addcom !hug $(user) hugged $(eval a=decodeURIComponent(`$(querystring)`);b=`$(urlfetch https://2g.be/twitch/randomviewer.php?channel=$(channel))`;a?a.slice(0,400):(b!=`Empty viewer list`?b:`no one`))! bleedPurple

Type !hug USER to hug someone OR !hug to hug a random chatter (does include chatbots; any user in your chat list). ToeKneeTM and 2g.be
Your Channel Weather !weather

!addcom !weather $(weather YOURLOCATION)

This will show the weather in your location; you must replace YOURLOCATION with your city and state or ZIP code. Seahawks765
Weather Lookup !weatherlookup

!addcom !weatherlookup $(weather $(query))

This will lookup the weather for the provided location. For Los Angeles, you would type !weatherlookup Los Angeles, CA or !weatherlookup 90001 Seahawks765
Local Streamers Time !time

!addcom !time $(time TIMEZONE)

This will return the local time for the streamer if the you provide your timezone from the list here: https://docs.nightbot.tv/commands/variables/time or it defaults to US/Eastern NightBot Devs



Please take a moment to subscribe to my YouTube Channel. Thanks!

Nightbot Win/Loss/Kill Counters

IMPORTANT NOTE: For many of these counters, you need to use the Twitch quote system to create unique “tokens”. I highly recommend that you enter these in your chat while NOT live. Each time you load the following url, a set of tokens is generated by Twitch. Please keep this in mind when using this link. When you click on this link, you will get 3 lines of text. The first line will have a smaller number (DO NOT INCLUDE THE &), and that is used in these commands as the PUBLIC_TOKEN and is used to RECALL stored information. The second two lines are identical and where you will find the PRIVATE_TOKEN where data is written to the “file” and stored for recall using the PUBLIC_TOKEN. I have highlighted the applicable numbers in the following photo with green as PUBLIC and yellow as PRIVATE:

These are DISPLAY TOKENS ONLY. Please use the link below to generate your own unique tokens

Also keep in mind that you will need separate “tokens” for each command set. For example, you’ll need one set for the wins/kills counter and one set for the gulag wins/losses command due to the reset commands. If you need help, catch me at Twitch.tv/ToeKneeTM every Tuesday, Thursday and Saturday for chatbot setup, tip, tricks and live Questions and Answers.

Link to generate tokens: https://twitch.center/customapi/quote/generate

Huge shoutout to twitch.center and the developer Ehsan Kia for the awesome tools to support these commands.

Desired action Command Code Notes Source/Credit
Wins/Kills Counter Part 1/4 !addwin

!addcom -ul=mod !addwin -a=_!addwin $(eval a=parseInt(decodeURIComponent(`$(querystring)`),10);`PRIVATE_TOKEN`+(a>=0?`&data=~${a}K~`:``))

This is the addwin. Use syntax is !addwin #OFKILLS and is set to moderator. Example: win with 10 kills is !addwin 10 NightBot Devs Website and twitch.center
Wins/Kills Counter Part 2/4 _!addwin

!addcom -ul=mod _!addwin $(eval a=`$(urlfetch https://twitch.center/customapi/addquote?token=$(query))`;b=decodeURIComponent(`$(querystring)`);b.includes(`PRIVATE_TOKEN`)?(a.includes(`Successfully added entry`)?`$(channel) won another game with ${b.split(`~`)[1].split(`K`)[0]} kills!`:`Invalid input!`):`Use !addwin`)

This is a non-user extended code. You will NOT use this, but it is required. NightBot Devs Website and twitch.center
Wins/Kills Counter Part 3/4 !resetwins

!addcom -ul=mod !resetwins $(eval `$(urlfetch https://twitch.center/customapi/delquote?token=PRIVATE_TOKEN&clear=1)`.includes(`All entries have been deleted`)?`Wins have been reset.`:`Try again later...`)

Resets the current wins/kills to zero. Moderator Level. NightBot Devs Website and twitch.center
Wins/Kills Counter part 4/4 !wins

!addcom -cd=5 !wins $(eval a=`$(urlfetch json https://twitch.center/customapi/quote/list?token=PUBLIC_TOKEN)`.match(/~\d+K~/g);a?(b=a.length,c=`(`+a.map(x=>x.slice(1,x.length-1)).join(`, `)+`)`):(b=0,c=``);`$(channel) has ${b} wins ${c}`)

This is the "everyone" command that recalls your wins/kills NightBot Devs Website and twitch.center
Gulag Wins/Losses 1/4 !gwin

!addcom -ul=mod !gwin $(eval a=`$(urlfetch https://twitch.center/customapi/addquote?token=PRIVATE_TOKEN&data=gwin)`;` `) $(twitch $(channel) "{{displayName}}") won in the Gulag!

This adds a single win to the ongoing count. Moderator. ToeKneeTM and twitch.center
Gulag Wins/Losses 2/4 !gloss

!addcom -ul=mod !gloss $(eval a=`$(urlfetch https://twitch.center/customapi/addquote?token=PRIVATE_TOKEN&data=gloss)`;` `) $(twitch $(channel) "{{displayName}}") lost in the Gulag...

This adds a single loss to the ongoing count. Moderator ToeKneeTM and twitch.center
Gulag Wins/Losses 3/4 !resetgulag

!addcom -ul=mod !resetgulag $(urlfetch https://twitch.center/customapi/delquote?token=PRIVATE_TOKEN&clear=1)

This resets the gulag counter. Moderator. If you want to never reset, you can exclude this command. ToeKneeTM and twitch.center
Gulag Wins/Losses 4/4 !gulag

!addcom !gulag $(twitch $(channel) "{{displayName}}") has $(eval a=`$(urlfetch json https://twitch.center/customapi/quote/list?token=PUBLIC_TOKEN)`;a.match(/gwin/g)!=null?w=a.match(/gwin/g).length:w=0;a.match(/gloss/g)!=null?l=a.match(/gloss/g).length:l=0;w+` wins & `+l+` losses in the gulag!`)

This returns the current count of wins and losses ToeKneeTM and twitch.center
Simple Wins (or deaths) Counter 1/2 !win

!addcom -ul=mod !win $(channel) has won $(count) times!

Basic win/deaths counter ToeKneeTM and twitch.center
Simple Wins (or deaths) Counter 2/2 !resetcount

!addcom -ul=mod !resetcount -a=!editcom !win \-c=0

This resets your wins or deaths... you can edit the command names to suit win or death. Careful you don't duplicate any other win counter. ToeKneeTM and twitch.center
Cumulative Kills Counter 1/4 !addkills

!addcom -ul=mod !addkills -a=_!addkills $(eval $(query) + $(urlfetch https://twitch.center/customapi/quote?token=PUBLIC_TOKEN&data=1&no_id=1))

This command set counts cumulative kills. Usage is !addkills #OFKILLS (!addkills 10 for a 10 kill game). YOU MUST FIRE THE !RESETKILLS ONCE when you first install or set will not work the first time. Set for MOD user level for all but !kills ToeKneeTM and twitch.center
Cumulative Kills Counter 2/4 _!addkills

!addcom -ul=mod _!addkills $(channel) has killed $(query) bots today! $(urlfetch https://twitch.center/customapi/delquote?token=PRIVATE_TOKEN&data=1&silent=1) $(urlfetch https://twitch.center/customapi/addquote?token=PRIVATE_TOKEN&data=$(querystring)&silent=1)

PRIVATE_TOKEN entered 2x here: This does the math, puts out the current new total, and writes the total back to the quote system. Mod level user only and you should never really use this command by itself. Will not work properly without !addkills ToeKneeTM and twitch.center
Cumulative Kills Counter 3/4 !resetkills

!addcom -ul=mod !resetkills $(urlfetch https://twitch.center/customapi/delquote?token=PRIVATE_TOKEN&clear=1) $(urlfetch https://twitch.center/customapi/addquote?token=PRIVATE_TOKEN&data=0&silent=1)

PRIVATE_TOKEN entered 2x here: This resets the kills counter to zero. YOU MUST USE THIS COMMAND 1 TIME WHEN YOU FIRST SET UP SET!This does not only erase the entries, but resets the count to actual 0. Mod level command. ToeKneeTM and twitch.center
Cumulative Kills Counter 4/4 !kills

!addcom !kills $(channel) has killed $(urlfetch https://twitch.center/customapi/quote?token=PUBLIC_TOKEN&data=1&no_id=1) bots today!

This is for everyone to use to recall the current kill count. If you get "Unexpected identifier" or "There are no quotes added" in part of your return, use !resetkills and try again. ToeKneeTM and twitch.center



Please take a moment to subscribe to my YouTube Channel. Thanks!

Nightbot Dynamic Response Commands

These are some of the more complicated commands, and potentially very useful. You can use the included syntax for the “local” commands as you see fit, just make sure that you have all your choices inside single quote marks and each option is separated by a comma. ‘Choice 1’,’Choice2’, etc. For the “unlimited” response commands: you MUST use an external “server” to store your list, and each item in the list must be separated by a semi-colon ; . For people who do not have their own server set up, I recommend Pastebin.com. While it is NOT perfect, it is free.(Note: Pastebin does not always respond, so if your command does not work the first time, wait 5 seconds then retry.) You will need to use the “raw” version of the paste as shown in the picture below. You can also set up a FREE AWS.com server, but this is for advanced users. For more information or help on either of these options, visit my stream Tuesdays, Thursdays or Saturdays from 3-6 pm Eastern at Twitch.tv/ToeKneeTM.

sample of important parts of pastebin use. Red arrows point the way!
Desired action Command Code Notes Source/Credit
Magic 8-ball !8ball

!addcom !8ball 🎱 $(eval const responses = ['All signs point to yes...', 'Yes!', 'My sources say nope.', 'You may rely on it.', 'Concentrate and ask again...', 'Outlook not so good...', 'It is decidedly so!', 'Better not tell you.', 'Very doubtful.', 'Yes - Definitely!', 'It is certain!', 'Most likely.', 'Ask again later.', 'No!', 'Outlook good.', 'Don\'t count on it.']; responses[Math.floor(Math.random() * responses.length)];)

This is the base form of the random response picker. Feel free to edit as you see fit. if you NEED to include a ' mark in your choices, simply put a \ in front of the mark Nightbot Devs
Random Fun Facts Command !funfacts

!addcom !funfacts $(urlfetch https://twitch.center/customapi/quote?token=7b212850&no_id=1)

This is a free to use collection of over 150 random facts that are rated for any maturity chat. More facts coming soon! ToeKneeTM and CarlPoolForLife
Blackout Drop Picker !bodrop

!addcom !bodrop /me wants you to drop $(eval const responses = ['Firing Range', 'Train', 'Ghost', 'Estates', 'Red Barn', 'Silo & Heli', 'Wagers', 'White Barn', 'Boxing', 'River', 'Array', 'Construction', 'Hijacked', 'Asylum', 'Factory', 'Turbine', 'NukeTown', 'Cargo.. ', '8 pack', 'Graveyard', 'Diner',]; responses[Math.floor(Math.random() * responses.length)];)

Feel free to edit the choices as you see fit. The /me switch returns the response as "action text" or in the same color as the bot's name. ToeKneeTM
Warzone Drop Picker !wzdrop

!addcom !wzdrop /me wants you to drop $(eval const responses = ['Summit', 'Military Base', 'Salt Mine', 'Airport', 'TV Station', 'Storage Town', 'Superstore', 'Stadium', 'Lumber', 'Factory', 'Boneyard', 'Train Station', 'Hospital', 'Downtown', 'Farmland', 'Promenade East', 'Promenade West', 'Hills', 'Park', 'Port', 'Prison', 'Array',]; responses[Math.floor(Math.random() * responses.length)];)

Feel free to edit the choices as you see fit. The /me switch returns the response as "action text" or in the same color as the bot's name. ToeKneeTM
Customizable Picker !CUSTOMPICK

!addcom !CUSTOMPICK CUSTOM TEXT $(eval const responses = ['CHOICE1', 'CHOICE2', 'CHOICE3', 'CHOICE4', 'CHOICE5', 'LONGERCHOICESAREOKTOO', 'UPTO500CHARACTERLIMIT']; responses[Math.floor(Math.random() * responses.length)];) MORECUSTOMTEXT

This is the code to use to create your own custom picker. All choices must include a , and two single '' marks. ALLCAPS need to be replaced or removed. ToeKneeTM
Syntax for "Unlimited" random picker 1/2 !unlimited

!addcom !unlimited $(eval const responses = "$(urlfetch json https://pastebin.com/raw/UNIQUECODEHERE) ".split(";"); responses[Math.floor(Math.random() * responses.length)]; )

This is the copy and paste syntax for your command, the next is an example ToeKneeTM/Blumer
Example for "unlimited" random picker 2/2 !randomdemo

!addcom !randomdemo $(eval const responses = "$(urlfetch json https://pastebin.com/raw/LynPsiYH) ".split(";"); responses[Math.floor(Math.random() * responses.length)];)

This is a demo of how the command works. Questions answered on stream! ToeKneeTM/Blumer
Syntax to pick more than 1 item "local" !picktwo

!addcom !picktwo $(eval const responses = ['Blue', 'Green', 'Red', 'Yellow', 'Purple', 'Burgandy', 'Black', 'White', 'Gray']; responses[Math.floor(Math.random() * responses.length)];) $(eval const responses = ['Box','Eyes', 'Cap', 'Shirt', 'Pants', 'Circle', 'Hands', 'Hair']; responses[Math.floor(Math.random() * responses.length)];)

This picks two from a limited "local" array. Play with it as you see fit. Items listed are just examples. (500 caharacter limit) ToeKneeTM
Dropkick a target !dropkick

!addcom !dropkick $(user) dropkicks $(touser)'s ass $(urlfetch http://twitch.center/customapi/quote?token=cc798736&no_id=1)

This creates a dropkick command that you pick your target. !dropkick USERNAME ToeKneeTM and
RockettoJanpu NightBot Devs
Dropkick a target OR Random Viewer !dropkick

!addcom !dropkick $(user) dropkicks $(eval a=decodeURIComponent(`$(querystring)`);b=`$(urlfetch https://2g.be/twitch/randomviewer.php?channel=$(channel))`;a?a.slice(0,400):(b!=`Empty viewer list`?b:`no one`))'s ass $(urlfetch http://twitch.center/customapi/quote?token=cc798736&no_id=1)

This creates a dropkick command that you can either pick your target or let the bot select a random viewer from the chat list ToeKneeTM and
RockettoJanpu NightBot Devs
Rock, Paper, Scissors !rps

!addcom !rps $(user) has $(eval const responses = ['Rock', 'Paper', 'Scissors']; responses[Math.floor(Math.random() * responses.length)];) vs $(touser) has $(eval const responses = ['Rock','Paper', 'Scissors']; responses[Math.floor(Math.random() * responses.length)];)!

This creates a simple rock paper scissors game. Type !rps YOUROPPONENT to play! ToeKneeTM inspired by Tamar00
Random Viewer Rock, Paper, Scissors !rpsrandom

!addcom !rpsrandom $(user) dropped $(eval const responses = ['Rock', 'Paper', 'Scissors']; responses[Math.floor(Math.random() * responses.length)];) against $(urlfetch https://2g.be/twitch/randomviewer.php?channel=$(channel)) and their $(eval const responses = ['Rock','Paper', 'Scissors']; responses[Math.floor(Math.random() * responses.length)];)!

This creates a simple rock paper scissors game but aginst a random viewer in chat. Type !rpsrandom to play! ToeKneeTM inspired by Tamar00
Rock, Paper, Scissors NEW !rps

!addcom !rps $(user) dropped $(eval const responses = ['Rock','Paper','Scissors']; responses[Math.floor(Math.random() * responses.length)];) against $(eval a=decodeURIComponent(`$(querystring)`);b=`$(urlfetch https://2g.be/twitch/randomviewer.php?channel=$(channel))`;a?a.slice(0,400):(b!=`Empty viewer list`?b:`no one`)) and their $(eval const responses = ['Rock','Paper','Scissors','Rock','Paper','Scissors','Rock','Paper', 'Scissors']; responses[Math.floor(Math.random() * responses.length)];)!

This creates an RPS command that you can either pick your opponent or let the bot select a random viewer from the chat list ToeKneeTM and
RockettoJanpu NightBot Devs
Slap !slap

!addcom !slap $(user) just slapped $(touser) with a $(urlfetch https://twitch.center/customapi/quote?token=35b52140&no_id=1)! KappaRoss

This creates an Slap command that you pick your target. !slap TARGET ToeKneeTM
Random User Slap !slap

!addcom !slap $(user) just slapped $(eval a=decodeURIComponent(`$(querystring)`);b=`$(urlfetch https://2g.be/twitch/randomviewer.php?channel=$(channel))`;a?a.slice(0,400):(b!=`Empty viewer list`?b:`no one`)) with a $(urlfetch https://twitch.center/customapi/quote?token=35b52140&no_id=1)! KappaRoss

This creates an RPS command that you can either pick your opponent or let the bot select a random viewer from the chat list ToeKneeTM and
RockettoJanpu NightBot Devs