What is Nightbot?
Nightbot, a powerful web-based chatbot, is your key to automating, moderating, and enhancing your stream. With Nightbot, you can devote more time to your stream and engage your viewers.
As a new streamer, you'll be pleasantly surprised at how effortlessly you can set up and start using Nightbot. It's designed for convenience, allowing you to focus more on your stream.
Why would I need Nightbot?
While Nightbot may not be a necessity, it's a game-changer. Its built-in tools simplify stream management that was once tedious or even impossible. With Nightbot, you can unlock a whole new level of interaction and engagement with your viewers through custom commands, song requests, giveaways, and more.
On the moderation side, Nightbot has spam filters, chat logs, and timers. It can also recognize your regular viewers by giving them access to more commands and making them immune to spam filters.
Thousands of streamers use all the features that Nightbot presents every hour, so there’s no wonder why it’s such a popular choice among new and veteran streamers alike.
How do I set up Nightbot?
Setting up Nightbot is a breeze. Simply head over to their user-friendly website, nightbot.tv, and log in with your Twitch or YouTube account.
Once on your Nightbot Dashboard, click the “Join Channel” button and follow the instructions to give Nightbot moderator privileges in your channel. You’re ready to go—it’s that simple!
The instructions for giving Nightbot moderator privileges on Twitch are simple: open your Twitch chat and type /mod nightbot.
With YouTube, it takes a little more time as you need to head over to your Community Settings and enter @nightbot in the list of moderators for your channel. Don’t forget to click save!
Now that Nightbot is a moderator on your channel, we can start looking at some basic commands and how to make our own.
Making and using commands
To take advantage of Nightbot and its features, click the “Commands” tab on the right-hand side. A drop-down menu with two more submenus will appear: "Custom” and “Default.”
The Default commands are the ones already baked into Nightbot. You can turn them on and off at your pleasure. They also come with predefined options and links to the documentation if you want to learn more about them.
The custom commands are where this chatbot shines. Creating a custom command for a specific use case or even one for everyone to use is a powerful feature, and it’s only limited by your imagination.
To start, click the “Custom” button on the left-hand side and then "+ Add Command".
A new window should have popped up on the screen, which may look a little daunting at first, but don’t worry, it’s all self-explanatory, and the more you add commands, the more it will become second nature to you.
One of the easiest ways to add more engagement to your stream is to make a command for your socials or community Discord. If you have a Discord server, you can make a simple command to prompt viewers to join.
You only need to choose the command's name. In this case, we’ve chosen !discord. The message can be whatever you like, but we have gone for “Come and join our community Discord! https://discord.gg/bNAGUFTrrN.” Just make sure to copy your own Discord invite link, not the one in this tutorial. Choose who can use this command and how long before it can be used again. We have made it so everyone can use it, and there is a 60-second cooldown between uses.
Commands like this are simple but effective, as you can just put the link to your chosen social media account, and there’s no need to keep typing it out for anyone who asks for it.
If you read the documentation for the command variables, you can quickly make them more intricate and advanced, such as lurking, shoutouts, hugs, slaps, etc. Once you add them individually, you can make even more advanced commands with multiple variables. Here’s some to get you started:
- Command: !lurk
- Message: $(user) has entered the shadows and has started lurking.
- Userlevel: Everyone
- Cooldown: 5 Seconds
- Command: !hug
- Message: $(user) has given $(touser) a massive hug. Ain't that cute?
- Userlevel: Everyone
- Cooldown: 5 seconds
- Command: !shoutout or !so
- Message: $(twitch $(touser) "You should go and follow the amazing {{displayName}} over at {{url}}. They were last playing {{game}}")
- Userlevel: Moderator
- Cooldown: 5 Seconds
A recap of those three commands will help you understand them more in-depth.
The $(user) variable grabs the username of the viewer who used the command. When I test the !lurk command in my chat, it outputs the following message: “KingKrazey has entered the shadows and has started lurking.”
The variable $(touser) does one of two things. First, if nothing is entered after the command !hug, the chatbot will return the message: “KingKrazey has given KingKrazey a massive hug. Isn’t that cute?” This is because no username was entered after the hug command. Put a username after the hug command, for example, !hug AllCreatorTools, and it will use that username as the $(touser) variable. The following message will be output: “KingKrazey has given AllCreatorTools a massive hug. Isn’t that cute?”
Lastly, the more advanced command is shown above: !shoutout or !so. A lot is going on in this one, as it is a string of variables inside a variable. Using the variable in its singular form would be $(twitch username), displaying the profile information about a specific Twitch account you specify. However, we want it to display specific information about a Twitch account and with a custom message. To do this, we have to check the documentation for the other variables available to us, which we chose the following variables: $(twitch) $(touser) {{displayName}} {{url}} {{game}}.
We already know the $(twitch) and $(touser) variables grab the information of the targeted Twitch account, and the other three variables are self-explanatory. The {{displayName}} gets the name of the user how it appears in chat. So any capitalization in their name is shown instead of being all lowercase, the {{url}} variable grabs the URL (link) of their Twitch channel, and the {{game}} variable grabs their last played game.
By using it in the way we outlined above, we can use all the variables in a sequence with custom text between them so we can post more to the shoutout than just the username, link, and game to make it more personal for the person receiving the shoutout.
As you can see, the three commands above provide excellent ease of use once set up, and once you know the variables you want to use, you can use them in many different ways to make even more fun commands!
You can even create mathematical commands, such as a random number generator. In this case, we will create two different commands, a toxic command and a happy command, but they operate the same; the text between the variables changes to show you how versatile the same commands can be.
- Command: !toxic
- Message: $(user) is $(eval Math.floor(Math.random() * 101))% toxic today.
- Cooldown: 5 Seconds
- Command: !happy
- Message: $(user) is $(eval Math.floor(Math.random() * 101))% happier from watching the stream! EleGiggle
- Cooldown: 5 Seconds
Commands like this are so accessible because they have multiple use cases with the same variables used. The variables $(eval Math.floor(Math.random() * 101)) grabs a random number between 0-100 and then outputs that to chat with the rest of the message that you’ve provided. Whether it’s to see how toxic somebody is, how happy they are, etc, all you have to do is change the text in the message, and you’re good to go! You could even change the range by increasing or decreasing the number variable.
Creating Timers
Another great tool that Nightbot has is the ability to create timers. A timer is a command or message executed after a set amount of time or chat messages and can be used to remind viewers to hydrate, follow your other social accounts, join your Discord, etc.
To get started, click the "Timers" button on the left-hand side and click "+Add". Next, name your timer, enter your message, set your interval, and indicate how many chat lines you would like to pass before it posts again. Click "Submit". The message can contain the same variables as the commands, so you can be just as creative with timers as you are with commands.
For this example, I have made a simple timer to remind chat to hydrate every 15 minutes. The output of your chat will be as follows:
Pros & Cons of Nightbot
Don’t get me wrong, Nightbot isn’t perfect, and it does have its share of flaws, just like any other bot or software. But here are the best and worst features I have found in my opinion:
Pros:
- Easy to use and get started
- Cloud hosted
- Create custom timers
- Create custom commands
- Host giveaways
- Spam filters
- Has Discord integrations
Cons:
- Advanced commands require time to look through the documentation
- No custom name for the bot
My Thoughts on Nightbot
For a new streamer, Nightbot is a great way to get started with chatbots, as it has fantastic tools available to moderate and have more interactivity for your stream. However, if you’re like me and want more from your chatbot or would like to add even more interactions and fun to your stream, I think going with another chatbot or using Nightbot in tandem with another chatbot or software would be the best course. A great example would be using Nightbot for all your basic commands and moderation tools and another cloud-based chatbot, such as StreamElements chatbot, for more interactive chat-based games and extra fun things such as emote pyramids, duels viewer queues, and more.
I do not use Nightbot because I utilize two different pieces of software to manage my chat and interact with my stream: Aitum and Streamer.bot. They connect to my Twitch chat and take control via OBS and a WebSocket connection, giving me total freedom to have custom names for my bots and very advanced commands/controls, redemptions, and control over my stream via chat.
Alternatives to Nightbot
There are various alternatives to Nightbot, and they have similar variables, pros and cons, but they all provide the same service. Moobot, PhantomBot, Wizebot, DeepBot, StreamElements, Streamlabs Cloudbot and Coebot. These are all cloud-based chatbots used via your web browser to join your chat. There are also software-based variants that contain more features than just a chatbot and can control channel redemptions, ads, bans, timeouts, OBS sources, etc. These include Aitum, Streamer.bot, and Mix It Up, which must be run while you are live.
Can I use Nightbot with another chatbot?
Yes! As mentioned, you can use Nightbot with any other chatbot or software-based chatbot mentioned in this article. Just keep an eye on any commands, timer, or spam filters you have because they can conflict if you have two commands named the same and will both output their respective response to your chat.