One of Twitch’s iconic features is the infamous chat window, and to moderate their chat, most streamers employ the aid of a chat bot. This guide will explain one of the most popular chat bots currently used on Twitch, Nightbot, and how it can be used to improve your channel.

Nightbot is a chat bot for Twitch and YouTube that allows you to automate your live stream’s chat with moderation and new features, allowing you to spend more time entertaining your viewers.

Nightbot is a chat bot that was developed by the software development company NightDev (who are behind other widely-used Twitch addons such as BTTV, too).

The bot, very simply, employs a range of features that can be used to perform various tasks, whether this be song requesting, chat moderation, giveaways, chat logs, custom commands, or the interesting data displayed through its online dashboard.

This does, of course, mean that Nightbot is run through a website, meaning no download is needed to launch Nightbot into your channel.

Setting Up


To start using Nightbot, visit There, you will be prompted to login to either your Twitch or YouTube account.

After permitting Nightbot access to your account (View your email address; update your channel’s title, game, status, and other metadata; cut VODs; run commercials on your channel and get a list of all subscribers to your channel), you will be greeted with Nightbot’s dashboard, where the bot, in its entirety, can be managed. The dashboard’s home screen will also display interesting information such as the most used command and the biggest chatter in your channel.

You will be asked to moderate Nightbot in your channel as most of its features rely on it being a moderator, but you do not have to do this if you will not be using these features (e.g. spam protection).

After selecting the ‘Join Channel’ button, Nightbot, after a short delay, will join your Twitch channel.


To view a list of commands that your Nightbot client responds to, type !commands in chat:


Adding a command

To add a custom command, type !addcom <!commandname> <commandresponse>. For example:

So that, when called, Nightbot will respond with the following:


Deleting a command

If you would like to delete a command, type !delcom <!commandname>. For example:



Variables add a unique factor to a custom command:

  • Arguments – space separated arguments in the command’s input [more info]
  • Battlelog – user stats from an EA BattleLog profile [more info]
  • Channel – name of the current channel [more info]
  • Count – variable that automatically increments [more info]
  • Countdown – time left until a specified time [more info]
  • Countup – time past since a specified time [more info]
  • DJKhaled – display one of DJ Khaled’s 🔑s to success [more info]
  • Lastfm – last scrobbled song from a profile [more info]
  • LeagueOfLegends – display rank information for a summoner name [more info]
  • PSN – user stats from a Playstation Network profile [more info]
  • Query – full input that comes after the command [more info]
  • QueryString – full input that comes after the command with url-encoding [more info]
  • Rainwave – current song information from the Rainwave radio network [more info]
  • Steam – user information from a Steam profile [more info]
  • Time – current time in a selected timezone [more info]
  • ToUser – first argument given to the command [more info]
  • Tweet – Generate click-to-tweet templates with a specified message [more info]
  • Twitch – user information from a Twitch profile [more info]
  • UrlFetch – output from a remote url (formerly customapi) [more info]
  • User – name of the calling user [more info]
  • UserLevel – userlevel of the calling user [more info]
  • Weather – weather information at a specified location [more info]
  • XBL – user stats from an Xbox Live profile [more info]

One of the most-used variables is ‘Count’. To integrate ‘Count’ into a command, type $(count). For example:

When called, Nightbot would respond with:

However, when !testcount is called again, Nightbot will instead respond with:

… as !testcount has been called twice.


Nightbot also offers giveaway functionality. which can be run simply through the online dashboard subsection:

  • The ‘Users’ tab shows a list of users entered in the current giveaway.
  • The ‘Eligibility’ option allows you to select which rolls are eligible (e.g. subscriber-only giveaways).
  • The ‘Giveaway Type’ option allows you to select whether users will enter by chatting, writing a specific word or drawing one at random.
  • The ‘Subscriber Luck’ option allows you to offer your subscribers up to a 10x higher chance of winning than a non-subscriber.
  • The ‘Regular Luck’ option allows you to offer frequent channel watchers/chatters (‘Regulars’) a higher chance of winning (up to 10x) over a non-regular.
  • The ‘Active Timeout’ option allows you to only select users active in the chat within a specified time period to enter (AFKers won’t be eligible to win).

When you are ready, select ‘Roll Giveaway’ and Nightbot will randomly select a user that matches your criteria, and will inform the user in the chat:

After which, you may close or re-roll the giveaway from the giveaway section on the dashboard.

Song Requests

Song requests allow users in the chat room to request songs to be played via YouTube links. To enable this function, visit the dashboard’s subsection.

By default, Nightbot offers a playlist of Monstercat music, which follows the EDM genre. This, of course, can be cleared using the clearing feature on your dashboard.

Song requests offer its own settings page where you can customize the minimum stream rank for song requesting (e.g. mods only), what providers you allow (e.g. Spotify, YouTube) and the playlist.

After enabling song requesting, permitted users will be able to type !songrequest <youtubelink> which will add their song to the playlist (which will play, be default, from the browser). For example:

Will add Darude – Sandstorm to your playlist, which will begin playing after the current song ends:

As you can see, the song can be skipped or paused at any time, and you can change the volume of the music freely.

The option to skip a song also exists as a chat command, which can be called by typing !skipsong:

And Nightbot will begin to play the next song in the playlist.

Spam Protection

This feature relies on Nightbot being a moderator in your channel: if it is not, the results of enabling spam protection will not be useful.

There are 6 filters that Nightbot actively detects in any chat channel:

  • Blacklist Words/Phrases – This filter allows you to timeout custom words, phrases, and patterns.
  • Excess Caps – This filter allows you to timeout users who use excessive capital letters in messages.
  • Excess Emotes – This filter allows you to timeout users abusing emotes.
  • Links – This filter allows you to timeout and whitelist links.
  • Excess Symbols – This filter allows you to timeout users spamming excessive symbols.
  • Repetitions – This filter allows you to timeout users whom repeat words or phrases.

Enabling any of these means that, in the event of a user using any of the above, Nightbot will punish them according to a setting which you can customize (e.g. timeout, ban). Nightbot always issues a 5 second timeout for first offenses, and repeat offenses yield the length you choose. Nightbot also will respond to that user with a chat message, but this can also be customized / silenced using the settings provided.

For example, enabling the ‘Links’ filter:

Nightbot sends a message to them, and the user is timed out for 5 seconds. If they decided to post another link, Nightbot would respond accordingly:

And the user would be timed-out for as long as the streamer specifies (default: 600 seconds).


Timers are messages that Nightbot will write in chat after a specified amount of minutes. These are usually used to promote giveaways or the streamer’s social media.

To add a Timer, visit the dashboard’s subsection and click ‘Add Timer’, where you will be displayed with these options:

The above shows an example of the options that can be customized, including also if you would like the timer to call a command.

After 15 minutes (as shown above) Nightbot will write the message in the chat room:

Timers can be edited or deleted at any time in the dashboard settings.


Nightbot offers integration with three other programs:

After choosing your selected service, click the corresponding ‘Connect’ button.

Discord, for example, will open a verification window such as the one below and, after authorizing, Nightbot will begin to perform its duties.








About the author


Editor in Chief