Sery_Bot, by SeryCodes
A Twitch moderation bot providing anti-hate raid and anti-follow bot protections, and other safety features and tools to streamers.
Sery_Bot was created a few years ago as my own personal stream bot and a bot for friends to use to help in their streams. In August 2021, hate raids on Twitch were picking up more and more, and I wanted to do something to help.Since I already had a bot thrown together, I added basic hate raid protection that could be triggered manually.This wasn't good enough for me. I wanted the bot to stop hate raids as they were happening, without any user intervention, without blocking real or wanted raids. I came up with an algorithm that would detect hate raids in real time, and issue bans to the accounts in question. This protection is available as long as the bot is modded and shows up in your channel list.Next up, follow bots. These are Twitch accounts that spam a streamer with follows (and sometimes unfollows). There's no purpose to this other than to cause alert spam, spikes in anxiety, unnecessary panic, and extra work for mods and the streamer to clean up. I added a way to detect follows from an ongoing list of known bots, and from abnormal spikes in follows, and ban/block them.There are other fun and useful commands in the bot meant to help streamers out.
Add/Remove the bot from your channel
|!join||Joins the bot to your channel. This will verify that you have set up the bot properly before it will join.|
|!leave||Use this to remove the bot completely from your channel. In order to re-add the bot, you will need to !join and set up any options you want again (more info below).|
|!onlinenotif||Sery_Bot will notify you when it has joined your channel once you are live.|
|!onlinenotifoff||Sery_Bot will stop notifying you when it has joined your channel.|
|!hateraidon||This is a command used in your own channel to enable sub-only, clears your chat, and posts a message about hate raids to your channel. This would be used as a quick command to lock your channel down in case of a hate raid.|
|!hateraidoff||This command is used in your own channel to disable sub-only mode. This does the exact same thing as /subscribersoff. I added it because people wanted a shortcut.|
|!followban||This command is run in Sery_Bot's channel, and authorizes the bot to ban and block known bots when they attempt to follow you. This command is only needed once, and provides ongoing protection.|
|!offlinelock||This command is run in Sery_Bot's channel, and authorizes the bot to automatically turn on Shield Mode in your channel five minutes after you go offline (and turns off Shield Mode when you go online). This command is only needed once.|
How to turn off channel protections
|!followbanoff||This command is run in Sery_Bot's channel, and DISABLES the ability for the bot to ban and block known bots when they follow you.|
|!offlinelockoff||This command is run in Sery_Bot's channel, and DISABLES the ability for the bot to manage Shield Mode in your stream when you go online/offline.|
Useful Mod Tools
These are mod-only commands used as tools to aid in your stream.
|!mso||This is a shoutout command, but allows you to shoutout multiple streamers at a time. You can list up to 9 streamers to shout out at the same time, just separate the names with spaces.||!mso streamer1 streamer2 streamer3 streamerEtc|
|!timers||This gives you a list of available timers you can run in a stream chat. I'm constantly adding more here and there as they are requested. The timer is just a countdown in your chat in case you need a fast 5 minute timer, or whatever timer you need.||!timers|
|!5m||This is a 5 minute timer. At the end of 5 minutes, the bot will tell you the timer is up. This is one example of timers available with the bot. Check !timers for a full list.||!5m|
Fun Commands/Easter Eggs
These are just fun/goofy commands that entertain your viewers.
|!flip||This visually flips someone in chat via ASCII.||!flip chatname|
|!angryflip||This visually flips someone in chat via ASCII, but a little angrier.||!angryflip chatname|
|!unflip||This does the opposite of the two above.||!unflip chatname|
|!catpic or !dogpic||This looks a random cat or dog picture up and posts the link into chat. Fair warning, they are cute pictures.||!catpic or !dogpic|
|!catfact or !dogfact||This looks a random cat or dog fact up and posts the fact into chat.||!catfact or !dogfact|
|!ttotals||This checks Tiltify for your latest charity/fundraiser campaign and pastes the campaign info and total raised into chat.||!ttotals|
|good bot||Tell Sery_Bot that its doing a great job. :)||good bot|
|bad bot||The exact opposite of the above :(||bad bot|
|!stopseryfun||This turns off everything above permanently. Use this if you want to disable everything in this section.||!stopseryfun|
How to Add Sery_bot
Mod Sery_Bot in your channel. Go to your own chat and type in
/mod sery_bot. This allows the bot to ban bots in your channel.
Authorize the bot to your channel. Click here to complete this. This allows the bot to receive stream notifications when you go online/offline, allows the bot to see when you get a follow, and allows the bot to block bots on your behalf.
Go to Sery_Bot's chat. Type
!joininto sery_bot's chat. If you did the first two steps successfully, the bot will give you a success message. If not, it'll tell you what is missing. If all is well, the bot will start joining your channel when you are live.
(If you want the bot to ban/block known bots on follow): Type
!followbaninto sery_bot's chat. This will monitor your account for follows even when you're offline.
(If you want the bot to lock your channel after you go offline): Type
!offlinelockinto sery_bot's chat. This is used as a deterrent to spam so hate raids cannot happen to you awhile you are offline and likely not available to moderate your chat.
I have questions
I want to know more about Sery
I've been a mod for several channels on Twitch for over 4 years. As a mod, I've seen maaaaaaany things over the years. No, it was not your cousin's friend's sister that typed that message into chat that got you banned. No, you aren't over 13 if you're mentioning what elementary school you go to during the day. You aren't fooling the mods.Anyway, two years ago, I decided to start streaming myself. It's been fun!
____________Why did you create Sery_Bot?
I like coding as a hobby.
____________Is this bot trusted?
I can't answer that for you. I am biased and will tell you yes, I trust it. I encourage everyone adding ANY bot to their channel to do their own research on it and see if it has value to your channel.What I can tell you is that this bot has been in service to 80 streamers over three years, before the hate raid problems started to become a well-publicized issue in August 2021. Since then, the number of streams has grown to over 70,000.If you want to find success stories about using Sery_Bot, I encourage you to search for Sery_Bot posts on Twitter, where hundreds of streamers have provided feedback and screenshots of Sery_Bot in action.
____________Why do I have to authorize the bot?
Authorization allows the bot to receive stream notifications when you go online/offline, allows the bot to see when you get a follow, and allows the bot to block bots on your behalf.
____________Does this bot ban my loyal viewers?
Generally, no. The hate raid algorithm used by the bot detects hate raids.However, I nor the bot are perfect and there's always a chance this can happen. If it does, unban the user and you're good to go. If you run into further issues with a user, get in contact with me.Early on, the bot used a list of names from various sources to detect hate raids, which while successful at the time, did result in false-positive bans. Protections were put into place to mitigate false-positive bans, but lists are only as reliable as the sources they come from. If a streamer submitted a list and did not validate their data, they can and have submitted false-positive names to these lists.
____________WHOA Sery_Bot banned someone real! I'm angry!
Like I said, I nor the bot are perfect. It happens.It's very very VERY likely that the account was compromised at one point and used for malicious activity. I don't monitor Twitch TOS unbans so I would have no way of knowing if someone appealed and got their account back. Unban them.
____________I'm still angry! You banned someone when you shouldn't.
Read the above again.
____________The bot didn't ban XYZ
The bot isn't perfect. I'm doing my best with what I have. I cannot guarantee and will not guarantee that my bot will catch 100% of bots. That is impossible.Maybe you didn't turn on
!followban. Maybe the bot was restarting, maybe a hiccup happened over the interwebs and I didn't catch a follow or a message. Maybe you reset your password and need to rejoin Sery_Bot. Maybe Twitch didn't send me an alert. Maybe the "bot" isn't actually a bot, or on my bot list. Maybe the account(s) weren't identified as bot accounts. Maybe they didn't trigger the follow bot algorithm. Could be one of many several things.
____________The bot didn't join my channel
Make sure you authorized with Sery_Bot. Type
!join in Sery_Bot's chat to check this. If you haven't authorized, you'll get a prompt to do so. Also, if you unmod the bot, it will stop joining your channel. The bot only joins your channel when you are live.
____________Is the bot open source?
No, it is not. If you're interested in writing your own bot, I recommend the Twurple Node.js library.
____________Does this bot clean up my follower list from accounts that have already followed?
No, use CommanderRoot's tools for that.
____________Can I mass ban/block this list of accounts I have obtained elsewhere?
No, this is costly for my bot to do so. Use CommanderRoot's tools for that.
____________Should I ban or block accounts?
If they are follow bots, use blocking to remove them. Banning serves no purpose here and wastes resources and time.
If these are accounts that spam chat, ban them. Banning an account prevents them from typing in chat.
If these are accounts that both follow AND spam chat, ban and block them.
In either case, report these accounts to Twitch.
Does NOT prevent the user from following.
Prevents the user from talking in chat
Prevents the user from subbing/giving gift subs or bits
Prevents the user from hosting
Allows the user to message you (if your whispers from strangers are enabled).
Prevents the user from following.
Does NOT prevent the user from talking in chat.
Prevents the user from subbing/giving gift subs or bits.
Prevents the user from hosting.
Prevents the user from messaging you at all.
Other Tools and Resources
Hate Raid Response
A frequently updated resource that contains many tools, bots, tips, tricks, among many other things to keep you and your stream safe!SMASH Security Suite
Currently in active development by @modest_mishmash, this bot has several moderation tools to fight hate raids and spam bots.The Twitch Safety Check
Also in active development by @modest_mishmash, a single button click can easily check the settings of your channel, and will make recommendations of changes you can make to ensure your safety.Cone of Safety
Using a heuristics approach, Cone of Safety attempts to collect data about opted-in channels to identify patterns and provide countermeasures to streamers in case of anomalies (such as hate raids).Twitch Tools by CommanderRoot
CommanderRoot provides several streamer tools, with their follower remover and blocklist manager amongst the most popular tools offered.