A Novice’s Guide to Mod’ing (or Managing) a Twitch Channel


I currently mod for 3 broadcasters and have only been doing it a few weeks. In that time I’ve already learned a lot and thought I’d share. This blog is about what you can do to enhance the chat experience for your channel’s viewers. As a long time and active viewer of music on Twitch, I’m passionate about the experience created for viewers.

Since I am new to this, please let me know if there are better ways to do things that I layout here.

Assumed Goals

Here are 5 goals that I assume you have with your Twitch channel.

Broadcasters are busy and you want them to be able to focus on what they are doing, not enabling a great chat experience.

Interactivity should lead to a better channel experience, increase retention, and grow your viewership.

Being interactive isn’t enough. You also need to make sure the experience is a positive one and fun for the viewers.

If you have joined a channel as a mod, there will be pre-existing bots, commands, and methods. You’ll need to fit into that framework. Also, you may not be a mod forever or be the only mod. So, you’ll want to make sure you leave a clean and easy-to-understand set of tools, methods, and artifacts (e.g. commands).

The most important thing is that you have fun as the mod. You’ll want to ensure things are easy to do so you can participate and enhance the chat experience.



BetterTTV is a mostly free service that enables custom and animated emotes to be shared in your channel and your Discord. BTTV is common across Twitch, so many viewers will miss it if it is not there. It is also an easy way to add temporary emotes that might fit a season or special occasion (e.g. birthday, holiday, etc.). Note, to view the emotes, the viewer will need to install the BTTV plug-in to their browser.


The broadcaster will need to link BTTV to their Twitch account and then add the mod as an editor.

To link, the broadcaster can visit betterttv.com. Click Login (upper right), enter the Twitch credentials or Authorize BetterTTV to access your Twitch account.

To add the mod as editor, the broadcaster can go to the Editors tab on the left. Then enter the Twitch userid of the mod and submit. Easy!

Now, both the broadcast and the mod should be able to add or remove emotes to the broadcaster’s BTTV palette.

Get rid of old commands


Ideally, the viewers will be able to discover commands at your bot’s command page. It is not a good experience if someone is browsing your long list of commands and sees something like, “Check out DJ x performing with DJ y this weekend!” when that weekend was months ago.


If you are the mod, ask the broadcaster if you can go through and clean up outdated commands and get it done!

Ensure there is a reason for each bot

Photo by Rock'n Roll Monkey on Unsplash


Having extra bots around has the potential for things to go wrong. Extra bots also make it harder for a newbie to come on board as a mod. Also, Extra bots can lead to conflicting bots. You might have the same command enabled on multiple bots, which can be confusing for the viewer.


If you have more than 2 bots, discuss with the broadcaster why they are needed? It is pretty common to require 2 bots, perhaps one for collecting tips and another for creating commands. It would be interesting to discuss why someone would need 3 or more.

Make it easy and unobtrusive for mods to manage commands.


Topical and timely commands make the chat experience better. The broadcaster may not have the time or attention to do this while they are broadcasting. Ideally, the mods can help do this during the broadcast, so they need to be enabled to add/modify/delete commands.


There are many articles on bot features and comparisons (Example). Or, you may already have a certain bot that holds all your commands. If you have a lot, you probably need to stick with that bot. As a mod, I recommend using NightBot. NightBot has a great web interface that allows the broadcaster and anyone they designate (e.g. a mod) to add/modify/delete commands. I like using the web interface because it doesn’t clog up the chat stream. For example, StreamElements allows mods to add/modify/delete commands, but they have to do it via text in the Twitch chat interface.

If/when you do enable NightBot, it is a good idea to turn off all the Spam Protection they enable by default. You can do that on this page.

Manage all (or most) commands with a single bot.


The best way to get viewers familiar with your commands is to direct them to the command listing page associated with the bot. This is impossible if you have your commands spread between multiple bots. Also, having commands spread across multiple bots makes them more difficult to manage. There is also the potential for the same command on multiple bots, which is confusing.


Discuss with the broadcaster which bot they’d like to host commands. Personally, I prefer NightBot, but I don’t have a ton of experience. Once you pick one, make sure new commands are done there and try to move over popular commands, if they are on another bot. It is possible that some command needs to be on a different bot… exceptions are always ok. 

Encourage your broadcaster to add Rewards & Challenges redeemable with points

Photo by Giorgio Trovato on Unsplash


Frequent viewers have a ton of points and it would be great if they had a reason to use them. Rewards that are interactive improve the experience and solidify the connection between the viewer and broadcaster.


This task needs to be done by the Broadcaster. You can find more info here.

Use Polls


Polls are another great way to get interaction with the viewers. Polls have the additional benefit that you can enable people to use their points to have extra votes.


To create a poll, enter “/poll” in the chat. This will launch a dialog to create the poll. Broadcasters or Mods can create polls. I recommend “Allow Additional Votes” using points in the UI.

Use Commands


I’ve already talked so much about commands, without ever saying why! Commands are a great way to increase interaction with the viewers. Commands also help build the channel’s personality. Commands, also persist and help with viewer retention, rewarding repeat visitors.


As I’ve mentioned above, it is important that commands are easy to manage for mods, as well as the broadcaster. NightBot makes it easy to add the mod as a Manager and mods can use the website to manage commands.

To setup NightBot, the broadcaster will need to link it to their Twitch account and then add the mod(s) as Managers.

To link, click the [Login] button at https://nightbot.tv/. If needed, click the “Login using Twitch” button. After this step, the moderator will need to add NightBot as a Mod to their channel.

Once linked, the broadcaster can click their icon, top right, and go to Settings. In Settings, click “New Manager” and enter the NightBot User ID. This is something the mod will need to provide to the Broadcaster. It is in their NightBot settings page (top right) and looks something like: 7abcd1234b7f7452e46b19b7

Some cool !commands

Here are some fun commands I’ve seen in channels I enjoy. They are all in NightBot format, unless otherwise noted.

For my location:

$(weather Austin)

This command is pretty fun, because you can customize it to your channel’s personality. They might not be drinkers. I’ve also seen this command as “!cheers” in some channels.

$(user) just sent a drink to $(touser)! HSCheers

This command is more of an example. It is fun to have some counter that people can use when the broadcaster does something they do a lot.

$(channel) accidentally wrote the wrong command $(count) times. Oops.

I found this command is most easily implemented via StreamElements. NightBot has a limit of 400 characters for their urlfetch command, which is restrictive.

StreamElements: !command add !hosts Thanks to all the users currently hosting: $(customapi.https://api.crunchprank.net/twitch/hosts/${channel}?implode)

This is helpful to explain to newbies what BTTV is.

bttv: Sooooo … Are you confused why everyone keeps talking about PepePls … PepoDance … SadgeRain … ABDULpls … CouldYouNot … and catJAM ?? It’s a browser add-on required to see special gif-emotes here on twitch, download and install them from https://betterttv.com/ and https://www.frankerfacez.com/ Mobile phone users can use MChat for Android or PogChat for iPhone!

This command is so useful, yet very elusive. Much thanks to @djtaylornorris for sharing this solution. He learned of the method from Atish Mehta. This requires a bit of effort on the part of the broadcaster.

The broadcaster can use a free app, Radr.dj, to tweet the latest track played. Once posted, you can use StreamElements to pull that tweet into the chat (command below).

An issue may arise if the broadcaster queues up the next track for a long time. When this happens, the next track, not the current track, might appear in the chat. I created an API to get the last tweet before the last to work around this scenario. Ping me if you are interested.

To keep it simple, here is how you can get the last tweet from StreamElements.

StreamElements: ${lasttweet.TWITTER_ID}

I’d like to see if there are some funny Twitter accounts that would be interesting to have show up in chat. To test this out, I created the !gettweet command. It takes an argument which is the Twitter account and returns their latest tweets. I will try it with accounts like: @AlYankovic, @ConanOBrien, @TheTweetOfGod, @factretriever, @TweetsOfOld, @FunFacts, @WiseyQuotes.

$(1) tweeted: $(urlfetch https://decapi.me/twitter/latest?name=$(1)&no_rts&howlong)


I’ve only been a mod for a few weeks, but there are so many tools out there that can help improve the chat experience for viewers. I hope this quick blog helps some of you out there! If you have any corrections or ideas for me, please leave a comment below or Whisper me on Twitch!

Acknowledgments: Thanks to the following Twitch users who helped inspire me to dig into these details: @tantra_thursdays, @rockyYVR, @Just_Jeremiah, @djTaylorNorris, & @kevinfargason.

Photo by Priscilla Du Preez on Unsplash

Program Director of Product Management in the computer software industry. Skilled in delivering data driven product content using Agile and Lean methods.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store