Sery emote with a ban hammer

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.


About

Sery_Bot was created around 2018 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

CommandDescription
!joinJoins the bot to your channel. This will verify that you have set up the bot properly before it will join.
!leaveUse 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).
!onlinenotifSery_Bot will notify you when it has joined your channel once you are live.
!onlinenotifoffSery_Bot will stop notifying you when it has joined your channel.
!onlinedadjokeSery_Bot will post a dad joke with the going live message.
!onlinedadjokeoffSery_Bot will no longer post a dad joke with the going live message.

Ad Timers and Alerts

CommandDescription
!adtimerSery_Bot will notify chat when an ad break begins
!adtimeroffSery_Bot will no longer notify chat when an ad break begins
!adtimermsg <message>Set a custom message to send when an ad break begins
Placeholders are available:
{durationS} just the seconds. 30/60/120/180/etc
{durationM} just the minutes. 0.5/1/2/3/etc
{durationF} has the formatting I already use. 30 second/90 second/2 minute/2.5 minute/etc. anything higher than 90 gets converted to minutes.
!adtimermsgend <message>Set a custom message to send when an ad break ends
!clearadtimermsgClears the custom ad timer message
!raidoutalertSery_Bot will post a message in chat after you raid out.
This is great to have in case a viewer/lurker isn't pulled in with your raid, or if someone missed your stream and wants to see where to go!
!raidoutalertoffSery_Bot will no longer post raid-out messages.
!raidoutmsgThe custom message you want to use instead of the default.
The link is automatically appended to the end of the message.
Example: !raidoutmsg We're raiding this person:
!clearraidoutmsgClears the custom raid-out message.

channel protection

CommandDescription
!hateraidonThis is a command used in your own channel to enable shield mode, 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.
!hateraidoffThis command is used in your own channel to disable shield mode. I added it because people wanted a shortcut.
!followbanThis 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.
!offlinelockThis 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

CommandDescription
!followbanoffThis 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.
!offlinelockoffThis 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.

CommandDescriptionUsage
!msoThis 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
!timersThis 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
!5mThis 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.

CommandDescriptionUsage
!dadjokeYep.!dadjoke
!flipThis visually flips someone in chat via ASCII.!flip chatname
!angryflipThis visually flips someone in chat via ASCII, but a little angrier.!angryflip chatname
!unflipThis does the opposite of the two above.!unflip chatname
!catpic or !dogpicThis 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 !dogfactThis looks a random cat or dog fact up and posts the fact into chat.!catfact or !dogfact
!ttotalsThis checks Tiltify for your latest charity/fundraiser campaign and pastes the campaign info and total raised into chat.!ttotals
good botTell Sery_Bot that its doing a great job. :)good bot
bad botThe exact opposite of the above :(bad bot
!seryfunThis allows you to set access levels to the fun commands, or turn them off. Valid options are on/off/vips/subs/mods.!seryfun on

How to Add Sery_bot

  1. 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.

  2. 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.

  3. Go to Sery_Bot's chat. Type !join into 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.

  4. (If you want the bot to ban/block known bots on follow): Type !followban into sery_bot's chat. This will monitor your account for follows even when you're offline.

  5. (If you want the bot to lock your channel after you go offline): Type !offlinelock into 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.
____________
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 around 80 streamers around 2018, 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 100,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 do actions on your behalf, and is required. Some of these actions include stream notifications when you go online/offline, allows the bot to see when you get a follow, check your ad breaks, 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.
____________
Will you be adding the bot to other platforms?
Not at this time.
____________
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.

Banning

  • Does NOT prevent the user from following.

  • Prevents the user from talking in chat

  • Prevents the user from subbing/giving gift subs or bits

  • Allows the user to message you (if your whispers from strangers are enabled).

Blocking

  • 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 messaging you at all.