Skip to content

About

TwitchSentry is a full moderation suit built for streamer.bot and twitch.

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Latest commit

 

History

234 Commits

Folders and files

Repository files navigation

TwitchSentry

Your smart chat bodyguard. Built for Streamer.bot.

Platform: Twitch Tool: Streamer.bot License: MIT Data: CC0 1.0

Latest stable release Latest pre-release Total downloads GitHub stars

Download · Manual · FAQ · Import String


Spam ruins the vibe. One minute you are reacting to a hilarious donation, the next your chat is full of fake gift links, sketchy URLs and copy-paste scams. TwitchSentry removes them and tells you what went, from whom and why. That is just where it starts.


What it does

Action Function
Link Filter Blocks links from viewers you have not trusted, with a whitelist that matches exactly or by wildcard. Always on.
Spam Scoring Reads a message as an advert with parts — somewhere to go, something on offer, a way to redeem it, a signature — and acts when enough parts fit together. Always on.
Message Filter Watches who is chatting and how: account age, ALL CAPS, emote spam, flooding and repeats, and if you want them, repeated words, symbol spam, walls of text, mass mentions, ASCII art and Zalgo text.
Raid Protection Arms itself after an incoming raid and watches for a swarm of accounts posting the same line.
Hate Raid Protection Recognises a hate raid by several signals at once, with or without a Twitch raid, locks the chat down and lifts itself again.
Follow Wave Protection Counts how many different accounts follow inside a short window and judges each one on age, avatar, profile and login.
LurkBot Filter Watches who sits in chat without writing, and reports or bans accounts from a known bot wave.
Word Filter Your own list of words and phrases, found through their disguises, kept in step with Twitch's Blocked Terms, and !nuke for the wave no list knows yet.
Shared Bot List Bans the accounts other TwitchSentry channels identified as bots, from a shared list on GitHub, and reports the bots your channel is sure of.
Spam Learner Mines what was actually removed for new keywords, phrases and domain endings, and proposes them for review.
AutoMod Answers the messages Twitch's own AutoMod holds back, so nobody has to sit in the queue.
Twitch Warn Twitch's warning screen with escalation on top: warnings, a final warning, then a timeout, a ban or a restriction. Your moderators' own warnings can count too.
Permit A time-limited link exception for one viewer, granted by you, a moderator, or a Channel Points redeem.
Check Link Scans a URL with VirusTotal and IPQualityScore, either automatically or on !checklink.
Voting Lets chat vote someone out. Roles above VIP can never be voted out.
Notifications Posts what happened to a Discord, Stoat or GameVox webhook and, if you like, shows it with ntfy on your phone or as a Windows notification too, along with new TwitchSentry releases and what your deck buttons did.
Offline Protection Puts chat into the modes you pick when the stream ends and lifts them when you go live.
Deck Buttons Switches profiles, modules, exemptions, Always Allowed links, AutoMod's answer and test mode, arms Raid Protection or takes the last action back, from a Stream Deck key, a Streamer.bot Deck button or the OBS dock. A key can show what it switched.

Why not just Twitch's own AutoMod with SmartDetection?

Twitch's AutoMod reads messages for offensive language, and it is good at that. It has nothing to say about:

  • typos like hey.how or Super.Bis später, which it may hold back for nothing more than looking like a link.
  • forty accounts arriving on a raid and posting the same line.
  • hundreds of throwaway accounts pushing the follow button to corrupt your statistics.
  • the "your channel would look great with a logo" chat that only turns into a sales pitch on the fifth message.
  • the messages it does hold back, which sit in a queue until a moderator answers them one by one.

TwitchSentry covers all of these, and it works through AutoMod's queue for you, so nothing waits there for a moderator.


When something goes wrong

Ooops, the bot banned my best friend?!? — !tsundo takes back the last action, whichever module took it, and !tsundo @name reaches that viewer's most recent one. Every decision is also written down and readable in the window itself. The Action Log is what happened and to which message, the Spam Log is what the Spam Filter and the Link Filter removed, exactly as it was posted, the Clean Chat Log is the ordinary chat that was deliberately left alone, and the Status Log is where TwitchSentry reports on itself: errors, a download that failed, an action Twitch refused. More on the log pages →

Found a bug or have an idea? Report... in the ☰ menu opens a pre-filled GitHub issue, your setup included.

Languages

The settings window ships in English. German, Spanish, French and Brazilian Portuguese are one download away in the ☰ menu, along with languages contributed by the community. What the bot says in chat comes in the same five languages, chosen on its own tab, and every message stays yours to rewrite in whatever language your channel speaks; it can refer to a viewer by the pronouns they set on pronouns.alejo.io. The translations are made with AI help and human review. If a text reads badly, Report... in the ☰ menu → A translation sends in a better wording. Want your own language in there? Share With Others... takes a complete translation file, for the window or the chat messages: Adding a translation.


What you need

  • Streamer.bot, connected to your Twitch account. That is the whole dependency.
  • Nothing to pay for and no extra .dll file. Everything runs inside Streamer.bot, plus a few files TwitchSentry creates next to your Streamer.bot install.
  • Optional: a free VirusTotal API key, and an IPQualityScore key on top if you want a second opinion. Only the optional Check Link module uses them.
  • Not sure TwitchSentry is the right tool for you? Here is a fair Comparison with other moderation tools.

Credits

Streamer.bot by nate1280 · enNemMesS · Stoshy89 (Tester) · DutchyRay (Dutch Translation) · YOU ♡

Data and services

  • stop-words by Alir3z4 (CC BY 4.0): the Spam Learner downloads these lists to leave ordinary words alone.
  • Unicode confusables (© Unicode, Inc., Unicode License V3) and YayText: the lookalike-letter table that reads fancy-font spam as plain letters is built from them.
  • IANA: the list of top-level domains the link checks recognise.
  • Stop The Bots: the spam domains and keywords TwitchSentry ships with.
  • pronouns.alejo.io by Alejo: viewer pronouns, looked up through Streamer.bot.
  • Reward checker by ayrtonalexis: finds a Channel Points reward's ID for Permit.

Socials

aaskjer on Twitch · TwitchSentry on the Streamer.bot Discord

About

TwitchSentry is a full moderation suit built for streamer.bot and twitch.

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors