Managing and moderating chat

(This guide is a work in progress.)

Before you read this guide, check out the “Chat, bots, and services” section of the tools guide.

To see my Twitch settings for you to copy with regards to moderation, check out the GitHub overview. The most important ones are in your Channel and Videos section:

Channel and Videos section of Twitch settings

FAQ

I just got a huge host/brigade/bunch of haters. Quick tips?

In your channel settings under Chat Options, enable Email Verification.

In order of escalation:

After the stream:

Copy-paste-friendly version

Put together in a format that can be copied:

/slow 10

/followers
/followers 10m

!filters blacklist enable
!filters blacklist silent

!filters links enable
!filters links silent

!filters repetitions enable

/subs
Presets

Enabling all these measures granularly is not ideal—not to mention disabling them. With OhBot, you can create presets that make this much easier.

How do I delete individual comments?

You can’t. Basically, you delete a comment by timing out the user, which is a pretty terrible way to do it, but it probably has to do with the IRC protocol Twitch chat is built on.

So if you want to delete a user’s comment without banishing them to the Shadow Realm, you type:

/timeout suh420blazeit 1s Spamming memes

With the reason “Spamming memes” obviously being optional.

This is otherwise known as a “purge”.

Some bots and extensions have shorthands for the “purge” command.

Technically, the comment is replaced with <message deleted>, and you can click the message to see the original comment.

Do deleted comments appear in VODs?

No.

Messages deleted during the live broadcast or as part of chat replay moderation will appear with a placeholder, just as they do on live broadcasts. Unlike live broadcasts, clicking "" on chat replay will not reveal the message underneath.

“Chat Replay FAQ”

If you want to view deleted comments, use Logviewer. More on Logviewer below.

Can moderators delete other people’s clips for other channels?

Nope. Which sucks.

Ideally, they’d at least be able to submit them for the channel owner to moderate, but you have to do that manually.

What does Twitch’s report interface look like?

A mess, that’s what.

Report user form

Report clip form

It’s impossible to grok the options in the heat of the moment, so I suggest you look at them now and make your own reporting flow chart.

Can I report clippers for being creepy or worse?

Nope. You’ll have to contact Twitch directly; in other words, this is not really something they’ve cared to design an anti-abuse system for. You can always try out some of the other report options in the dropdown like Community Rules Violation and Other Terms of Service Violation, but we won’t know how much it helps.

Can people banned in my channel clip it?

Nope. Tested it myself. (They can still make new users and clip your stream, of course.)

Someone just messed up some permissions in my Discord, help?

Go to your Audit Log and under server settings and filter by actions if needed. Discord currently has not “undo” button in the Audit Lot so you’ll have to perform the house cleaning manually.

This way, you’ll at least know what the hell is going on. Creating category permissions also makes it easier for you to reset channel permissions to their defaults.

Someone is discussing self-harm, what do I do?

The least you can do is link them to Twitch’s own “Twitch Cares: Mental Health Support & Information” and set up commands like the following

!addcom !selfharm -cd=5 https://help.twitch.tv/customer/portal/articles/2904486-twitch-cares-mental-health-support-information ❤
!addcom !help -cd=5 -a=!help $(query)

You could also add a $(1) argument so people can @tag a user.

Editors: why moderators can’t make highlights

A separate editor role is required. Assign it at https://www.twitch.tv/broadcast/dashboard/permissions.

This way, editors can create highlights in the Past Broadcasts section. Highlights are particularly useful because neither the video nor its chat is ever deleted as opposed to VODs and Clips. More on this in the archival guide.

Can my mods help with StreamLabs?

Yes, by sending them an invitation in the Shared Access pane.

Can I block emotes?

Yes, emotes are only text commands after all. I recommend blacklisting unwanted emotes in AutoMod to keep things calm without timing new viewers out.

Tools

A basic Swiss army knife of moderation to get you started.

Commands and bots

Command cheat sheet

Native commands

Let’s see what there is:

/help

Native Chat Commands:
Commands available to you in this room (use /help for details): /help /w /me /disconnect /mods /color /commercial /mod /unmod /ban /unban /clear /timeout /untimeout /subscribers /subscribersoff /slow /slowoff /r9kbeta /r9kbetaoff /emoteonly /emoteonlyoff /followers /followersoff /host /unhost

One thing you can infer is that the commands that target a user are disabled with un-, while the commands that affect your entire chat are disabled with -off.

/slow

To prevent the same people from spamming—or to just keep a popular chat from clogging up—type /slow or /slow <seconds>, which will limit your audience to comment once every 120 seconds, or a custom number of seconds.

/emoteonly

This only works well if you’re an edgy memelord, or if you only want a reaction-only chat—which only works if the emotes available to your subs can convey the relevant reactions.

/timeout

Type /timeout username [seconds] [reason] to prevent a user from commenting for the duration of seconds. As the duration, the timeout reason is optional, noted by brackets.

People also use it to clear user messages with a one-second timeout (timeout username 1).

You can check out the discussion of the reason argument, too. As well as the ban reason announcement.

/ban

Same as /timeout, but permanent. Saves you the hassle of typing the seconds.

/followers

When your stream gets popular—or you manage to attract some nasty people making things unfun in chat—type /followers or /followers <duration> in chat.

<duration> should generally work with formats like “1w”, “1 week”, “1 day and 12 hours”.

This will allow only people who have followed your stream for this duration of time to participate in chat.

Read more about the feature and its beneficial effects in Twitch’s blog post on /followers.

/subscribers

Same as /followers, but I haven’t checked it it takes an optional duration parameter.

BetterTTV

You’re going to want either BeterTTV or FrankerFaceZ. It’s by the same people who made Nightbot, another invaluable service described below.

Commands

BetterTTV also comes with some great custom commands:

/help

BetterTTV Chat Commands:
/b [username] -- Shortcut for /ban
/chatters -- Tells you how many users are currently in chat
/followed -- Tells you for how long you have been following a channel
/followcount -- Retrieves the number of followers for the channel
/join -- Joins the channel (deactivates anon chat mode)
/linehistory on/off -- Toggles the chat field history (pressing up/down arrow in textbox)
/localascii -- Turns on local ascii-only mode (only your chat is ascii-only mode)
/localasciioff -- Turns off local ascii-only mode
/localmod -- Turns on local mod-only mode (only your chat is mod-only mode)
/localmodoff -- Turns off local mod-only mode
/localsub -- Turns on local sub-only mode (only your chat is sub-only mode)
/localsuboff -- Turns off local sub-only mode
/massunban (or /unban all or /u all) -- Unbans all users in the channel (channel owner only)
/part -- Parts the channel (activates anon chat mode)
/purge [username] (or /p) -- Purges a user's chat
/r -- Type '/r ' to respond to your last whisper
/shrug -- Appends your chat line with a shrug face
/sub -- Shortcut for /subscribers
/suboff -- Shortcut for /subscribersoff
/t [username] [time in seconds] -- Shortcut for /timeout
/u [username] -- Shortcut for /unban
/uptime -- Retrieves the amount of time the channel has been live
/viewers -- Retrieves the number of viewers watching the channel

These commands stand out:

/localmod and /localsub only affects what’s shown in your chat. It works as a display filter which you can use temporarily to find a comment, or just to make someone else’s chat more bearable.

Bots

You might want bots for a number of things:

Bot cheat sheet

According to Twitch’s Twitchcon 2017 panels, these are the must-have bots:

Nightbot

Nightbot is the go-to bot for commands. For moderation, there’s also bots like Moobot and OhBot. Nightbot doesn’t tend to get used for large-scale moderation.

You need some macro commands for:

And you want some basic moderation commands for:

Commands are Nightbot’s forté; here’s a selection of some of the best:

You can also add your own commands with custom APIs, such as !followage and !uptime:

!addcom !followage $(customapi https://api.rtainc.co/twitch/channels/Cygnatus/followers/$(touser))

!addcom !uptime $(customapi https://api.rtainc.co/twitch/channels/Cygnatus/uptime?format=%5B0%5D%27s+stream+has+been+up+for+%5B1%5D&units=2)

Remember to capitalize your channel name.

!editcom and !delcom are great shorthands, too.

Nightbot also comes with Discord integration, which seemlessly bridges the move from Twitch chat to Discord chat:

Example commands

Get streamer’s local time:

!addcom !time $(time US/Eastern "h:mmA zz")
(Or US/Pacific, CET)

Counters:

!addcom !swearjar -cd=5 Streamer has cussed $(count) times.
!addcom !resetswearjar -a=!swearjar -c=0 $(query)

Setters and getters:

!commands add !sr -cd=15 (Placeholder text.)

!commands add !setsr -ul=moderator -a=!commands edit !sr SR was $(1) at the start of the stream. ($(time US/Eastern "h:mmA zz ddd"))

!setsr 4000

Helpful tips in the heat of the moment:

!addcom !buffering -cd=10 If the stream hangs for you, hit pause and then play on desktop or re-pick the video quality on mobile to reset the stream.

Event countdowns:

!addcom !newyear $(countdown Jan 01 2019 12:00:00 AM EST)

Multistreams:

!addcom !multi -cd=5 https://multistrea.am/cygnatus
!addcom !setmulti -ul=mod -a=!editcom !multi https://multistre.am/cygnatus/$(1)
!setmulti news/twitch

Self-harm response:

!addcom !selfharm -cd=5 https://help.twitch.tv/customer/portal/articles/2904486-twitch-cares-mental-health-support-information ❤
!addcom !help -cd=5 -a=!help $(query)

Educational LGBT info:

!addcom !lgbtfriendly https://www.glaad.org/reference/transgender

Explain why some people aren’t registered as Twitch subs in Discord:

!addcom !fakesub It can take up to an hour, before you’re recognized as a Twitch sub in Twitch. Make sure to connect your Twitch account to Discord, too https://support.discordapp.com/hc/en-us/articles/212112068-Twitch-Integration-FAQ

NB: If you add a period to the end of any links in your text, Discord bugs out and won’t show a rich snippet for them.

You should also add a cooldown argument with -cd=<seconds> to your commands to ensure they get used as often or rarely as intended.

!regulars

On top of Revlobot below, Nightbot also tracks regulars in your chat. This makes it easier to cut regulars more slack with features like spam protection and link restrictions, and serves as a nice reward mechanism for loyal viewers who don’t necessarily subscribe to your channel.

Regex

Nightbot supports regular expressions of the format ~/[pattern]/[flags]. Examples from the docs:

[In a spam filter,] ~/(\d{3}[-.])?\d{3}[-.]\d{4}/ will blacklist any like looking phone numbers such as 253.532.8757 and 321-2345.

[In a links filter,] ~/i.imgur.com\/[\d\w]+.(png|jpg|gif)/i will whitelist imgur direct links such as (i.imgur.com/ghOCjsn.png), but will not allow image links (imgur.com/ghOCjsn), gallery links, and album links (imgur.com/a/Tkyl6).

Remember that the spam filter works as a blacklist while the links filter works as a whitelist.

Use an online tool like https://regex101.com or https://regexr.com to test your regex, and remember to remove the ~/ at the start and the /(...) flag at the end for the online tools to work. The online tools use a separate drop-down menu for adding the flags instead.

When you’re done, add ~/ at the start and the /... flag at the end for Nightbot. Then you can go on to add the flags to your regex in Nightbot when you’re done. You’ll probably also want to include the global g flag, too.

Here are the two regexes on both sites, although I took the liberty of adding a global flag:

Always test for yourself and don’t use other people’s regex; 99% of people are terrible at regex, and definitely don’t use . for periods like the examples when you should be using \..

Nighbot settings

Check out my own Nightbot settings on my settings repo at GitHub.

AutoMod

AutoMod is a very experimental feature, but the gist of it is that it provides an easy way to moderate your chat.

Here’s how it works. Streamers can configure AutoMod by selecting one of four levels. These levels affect how aggressively AutoMod holds back messages under four categories: identity, sexual language, aggressive speech, and profanity.

When AutoMod flags a message, it lets the original sender know that moderators will review the message’s content before it’s sent to chat. Meanwhile the message is shown to moderators, giving them a chance to accept or reject the message.

Another advantage is that it directs the blame and anger at Twitch, not the streamer and moderators who might be on the receiving end of some pretty heinous stuff.

As expanded on in one of the videos below, AutoMod also moderates a channel more surrepticiously by applying its rules to Clip titles and, come February 2018, Twitch usernames.

Use AutoMod to hide messages with blacklisted phrases. Use Nightbot or another moderation bot to punish people who write messages with blacklisted phrases. There shouldn’t be an overlap in the blacklist for AutoMod and a moderation bot like Nightbot.

On using AutoMod to hide personal information

Some people suggest using AutoMod to blacklist your personal information from being posted in chat.

I’ve been in big streamers’ chats where I got a notification that my message had been withheld because it contained a blacklisted phrase for the channel, and the only unusual thing in my message was a name, which I assume is the streamer’s real name.

This kind of message feedback means people can accidentally end up learning streamers’ personal information because they typed something like “Alice” in chat and got a notification. Most likely, the phrase is blacklisted because it’s the streamer’s real name. Why else would something like that be blacklisted.

Of course, if you ever get piled on with a lot of people posting the information, resorting to AutoMod might be your only option.

When using features to safeguard your safety and privacy, make sure what you’re handing your personal information over to, and how you risk exposing it.

Mods can configure AutoMod

Yes, moderators can update your AutoMod level, create a custom level by fine-tuning each moderation category, and update terms in your blocked and permitted terms lists. To access AutoMod settings in the broadcaster dashboard, mods can click “Manage Moderation Settings” in the chat settings menu.

You can also access it directly by a link like:

https://www.twitch.tv/some_channel/dashboard/settings/automod

NB: Your channel’s blocked terms and phrases in your AutoMod settings are private by default. You can make them publicly visible to others as opt-in on a per-term basis.

Streamlabs bot

Update Sep 01, 2017: Streamlabs just announced their own bot that tracks loyalty points and takes advantage of the new Twitch Extensions API.

It appears to work through the video interface rather than chat as opposed to regular bots.

To address the overlap between the extension and bot’s tracking of activity, you can go to Currency in the bot’s settings, click Local at the top, and change it to Extension.

Clips from TwitchCon 2017 panel

“Beyond the Banhammer: Moderation at Twitch”

(Ad-blockers may prevent this clip from loading; click to go directly to the clip link.)

(Ad-blockers may prevent this clip from loading; click to go directly to the clip link.)

(Ad-blockers may prevent this clip from loading; click to go directly to the clip link.)

(Ad-blockers may prevent this clip from loading; click to go directly to the clip link.)

(Ad-blockers may prevent this clip from loading; click to go directly to the clip link.)

“Keeping the Peace with Moderation”

(Ad-blockers may prevent this clip from loading; click to go directly to the clip link.)

(Ad-blockers may prevent this clip from loading; click to go directly to the clip link.)

(Ad-blockers may prevent this clip from loading; click to go directly to the clip link.)

(Ad-blockers may prevent this clip from loading; click to go directly to the clip link.)

This one on mod roles is about one of the most important things you should learn to manage and grow your stream.

“A Chat with the Chat Team About Chat”

(Ad-blockers may prevent this clip from loading; click to go directly to the clip link.)

“Congrats, You Have an Audience”

From the “Growing your audience” guide:

Healthy chat report card

(Ad-blockers may prevent this clip from loading; click to go directly to the clip link.)

Category Metric
Channel discoverability % newbies
New user chat participation % newbies who chat
New user social inclusion % newbies receiving a mention
Regular chat participation % regulars who chat
Regular social inclusion % regulars receiving a mention

“Staying Safe: Security Advice for Streamers”

Address Confidentiality Programs

In the US:

Address Confidentiality Programs were created to protect victims of stalking, domestic violence, sexual assault, and other crimes from offenders who use public records, such as voter or drivers’ license registries, to locate them. These programs give victims a legal substitute address (usually a post office box) to use in place of their physical address; this address can be used whenever an address is required by public agencies. First class mail sent to the substitute address is forwarded to the victim’s actual address.

Thirty-six states have launched Address Confidentiality Programs (see below) and laws governing eligibility vary from state to state. It is important to remember that these programs can only work if the perpetrator does not know where the victim lives, and when used in conjunction with other safety strategies.

More info at the Stalking Resource Center.

Getting help in emergencies

This is your “panic sheet”:

(Ad-blockers may prevent this clip from loading; click to go directly to the clip link.)

Giving help in emergencies

(Ad-blockers may prevent this clip from loading; click to go directly to the clip link.)

Dealing with swatting

(Ad-blockers may prevent this clip from loading; click to go directly to the clip link.)

(More specific advice is complicated by differences in how each state and jurisdiction handles swatting. All the more reason to get a lawyer.)

Volunteer moderation vs unpaid moderation

I really like this series of tweets on how to think about moderator labour:

Articles

What’s next?

Next up is the guide for growing your channel. It’s a work in progress but well worth your time regardless.

  1. Or Moobot, if you prefer. ↩︎

  2. A lot of people, especially seasoned cross-channel mods, manage chat with Chatty. Because Chatty requires Java, I’m not going to bother, but it’s a very useful chat tool if you don’t mind having Java installed with all its issues on your computer.

    Java is a really cool language, but all the consumer-facing software around it are a mess nowadays, sadly. ↩︎