Logo
This extension requires Streamer.bot version 1.0.0. .

MOD TOOLS

An all‑in‑one package to moderate your Twitch stream and keep it clean from bots and spam. For the full feature set, check out the Features tab!

modCheck

This extension requires a .dll file (TawmaeUI.dll) to run. You will be asked to have it automatically downloaded from my Github Repository to your Streamer.bot directory when you open the Settings UI, but you can also manually download it here. You can use tools like JetBrain dotPeek to check the .dll file's content.
ACTION IMPORT
Loading...
Never import actions from untrusted sources. Want to know what you are importing? Paste the import code in here (Decoder made by TakeJoshyy).
SETUP

1. Copy the Action Import text from above into your clipboard.

2. In Streamer.bot, click the Import button at the top of the window. Paste the text into the Import String section and press Import at the bottom.

3. Now head to the Commands tab and look for the imported commands. Then rightclick the group and select Group -> Enable All.

4. In the [MOD TOOLS] [#] 1 - Settings action, rightclick the Test trigger and hit Test Trigger to open the Settings UI once. This makes sure that the .dll file has been downloaded and is up to date.

If you don't have my .dll in your Streamer.bot directory already, it will ask you to automatically download it. If you wish to manually place it there, you can to that here.

Press Save And Exit afterwards.

And then you're done! You can customize everything to your liking, but you can also leave everything at their default settings. I made sure to properly balance a nice chat experience :)
Pog Clap

FEATURES

Super Moderators

You can elevate some of your moderators to the rank of a super moderator.

That's nothing natively for Twitch, but entirely made up by me. Super moderators enjoy certain priviliges that regular mods won't have. They're able to use the !ban and !timeout command on regular mods and you can toggle stuff like OBS commands or Channel Point Reward commands to only be used by super moderators.

Custom Commands

Sometimes you need to add a quick and dirty command via chat or have one of your mods to that for you. Streamer.bot doesn't allow to natively add commands without doing it manually, but this method allows to add commands via chat and also allows for fancy stuff like counters, cooldowns, permissions and targets. You can also edit and remove them and also output all custom commands to chat.

To do that, you simply add one of those parameters to the end of the add- or edit-command.

Example: !addCommand !bluesky Check out my Bluesky profile: https://bsky.app/profile/tawmae.xyz <GlobalCooldown:60>

Cooldowns:
Set global and/or user cooldowns.

<GlobalCooldown:60>
<UserCooldown:60>


Permissions:
Set permissions for user groups, so only those groups are able to use that command. You can add multiple ones at once.

<modOnly:true>
<vipOnly:true>
<subOnly:true>


Counter Edit Permissions:
Each custom commands has a %count% variable to it. You can edit that counter by typing a plus or minus symbol after the command, or set it to a value. Example: !death +, !death -, !death +5, !death set 50. Every user is able to fetch the current count by just using the command, but you can decide which group is allowed to change the count.

<counterEditModsOnly:true>
<counterEditVipsOnly:true>
<counterEditSubsOnly:true>


Parseable variables:
As mentioned above, you can for example use the variable %count% in your custom command's text. This variable will then be replaced with the attached counter number. But there's also %targetUser%, that will be replaced with the name of a user. If you use a custom command with an @-symbol, like !hug @tawmae, it will replace %targetUser% with 'tawmae'.

Bot & Hate Raid Protections

1. Spam Bots
By now we all know the spam bots that are trying to sell viewbots and other goodies. They're being automatically detected and banned for you.

2. Follow Bot Attacks
The main part is the Follow Attack protection though. Follow Attacks are just massive bot follow waves. They not only mess with your follower count, they also trigger alerts which might ruin your stream experience. These attacks will be identified automatically, but you're also able to manually enable the protective mode. While in the protective mode, all botted followers are getting removed automatically and alerts will be paused for the duration of the attack. And even if you forget to enable the protective mode, there are tools and commands to get rid of the bots afterwards. For example as a web page, you can check the 'DOCKS AND ADDONS' tab for that.

3. Hate Raids
Hate Raids are usually led by real people. But they join your chat to spread hate and ruin your stream experience as well. The Hate Raid protection can be easily toggled and will automatically pause your rewards, alerts and put the chat in follower mode / slow mode etc.

Spam Filter

1. Blacklisted Words
You can put certain words on a blacklist, which are then getting filtered from chat. There's a smart mechanism to avoid workarounds with spaces, special characters etc. Your mods can easily add and remove words via commands and toggle the filter.

2. Caps Protection
The caps protection checks for x consecutive caps letters in a message and will delete the message if it exceeds that limit. Mods can easily toggle that filter via commands.

3. Emote Protection
The caps protection checks for x amount of emotes in a message and will delete the message if it exceeds that limit. Mods can easily toggle that filter via commands.

4. ASCII Protection
The ASCII protection checks for ASCII symbols in a message and will purge it if it detects ASCII art or spam. Mods can easily toggle that filter via commands.

4. OBS Dock for sus users
There's also a neat little OBS dock that you can add, that displays new chatters and accounts that are less than 90 days old to perform quick actions on. You can check the 'DOCKS AND ADDONS' tab for that.

URL Filter

The URL filter checks for links in chat. What's better than the Twitch integrated blocker you ask?

1. URL Whitelist
You don't have to block ALL links. Twitch and Instagram links are fine? Just add them to a whitelist and those are no longer getting filtered. Mods can easily add and remove links via commands, and people are also able to fetch all whitelisted commands to check what's fine and what's not.

2. User Permit & Whitelist
The whitelist also works for specific users and/or user groups. Either specific people, or VIPs, or subs. You decide. You can also permit a single user for x seconds, so they're allowed to post links during that time frame.

OBS Management

1. Get and set scenes
You forgot to change your scene and don't have time to check the chat? Well, now your mods change the scene for you. They also can get a list of your scenes, so they know the name they need to switch to. To not spam all your 100 scenes into chat, you can exclude certain scenes from being shown in that list and/or have the list whispered to your mods.

2. Refresh Audio and Browser Sources
Do you use Audio Application Capture Sources (BETA) and ever experienced that your chat complains about crackling audio? Well, that's a known OBS bug, but can be easily fixed by refreshing the source. Your mods can now easily to that via chat command. The same applies for browser sources, in case they ever need a refresh.

3. End your stream
Accidents happen. And for those cases it can be nice that your mods are able to end the stream for you. This will require a double-confirmation to avoid accidental uses and you can limit OBS management commands to super moderators only.

Chat Management

1. Set Channel Title
Change the channel title via command. With integrated checks for the max. character limit and other goodies.

2. Change Channel Game/Category
Change the game/category via command. If Twitch fails to recognize the proper category, another catch mechanism is in place to determine the game. This isn't perfect, but allows for typos in the input.

3. Ads
Have your mods run ads, check the preroll-free time and snooze ads if needed.

4. Raids and Shoutouts
Automatically shoutout incoming raids, but not everyone.. You can limit auto-shoutouts to raiders you follow or only for a min. amount of raid viewers. Also post your raid messages to chat whenever you raid out and have your mods to a custom chat shoutout for specific users.

5. Translate
A message in a foreign language pops up? Simply reply to it with the !translate command or enter a text after the command to translate unrelated text to your target language.

Channel Point Rewards, Polls & Predictions

1. Rewards:
Change the titles, enabled-states, paused-states, cooldown, max limits, cost and prompts of channel point rewards via commands.

2. Polls:
Create and end polls via commands.

3. Predictions:
Create, lock, resolve or cancel predictions via chat commands.

Get Better Target Info

Chatters can have localized names in non-latin letters. Japanese, chinese, kyrillic and newly arabic as well. This can cause issues for targeted commands, because the Twitch API only allows to fetch data for user logins, not localized display names. The MOD TOOLS happen to have an integration that saves localized usernames and allows to target them with their display names via commands.

I did extend on that feature and by adding a Execute C# Method, choosing MOD TOOLS Actions and then GetBetterTargetInfo, it'll give you all the target info variables like the subaction does, but also returns results when you enter a localized display name.

COMMANDS

Channel Management

!setTitle [Title]

Set a channel title.

Example: !setTitle This is a super cool channel title | !sr !commands

!setGame [Game]

Set the channel game/category.

Example: !setGame Witcher 3

!addTag [Tag]

Add a channel tag.

Example: !addTag LGBTQFriendly

!removeTag [Tag]

Remove a channel tag.

Example: !removeTag Calm

Custom Commands

!addCommand [!command] [Command Text]

Adds a custom command with a simple text output. The command name has to start with an exclamation mark. Can contain %user% and %userName% variables. For additional settings like cooldowns and permissions, check the Features tab for Custom Commands.

Example: !addCommand !bluesky Check out my Bluesky profile: https://bsky.app/profile/tawmae.xyz

!editCommand [!command] [Command Text]

Edits a custom command. For additional settings like cooldowns and permissions, check the Features tab for Custom Commands.

Example: !editCommand !bluesky Follow me on Bluesky: https://bsky.app/profile/tawmae.xyz

!removeCommand [!command]

Removes a custom command.

Example: !removeCommand !bluesky

!customCommands

Shows all custom commands in chat.

Example: !customCommands

OBS Management

!scenes

Lists all OBS scene names in chat.

Example: !scenes

!setScene [Scene Name]

Set a specific active OBS scene. Can be the name or the index number.

Example: !setScene Gaming or !setScene 1

!refreshAudio

Refreshes all OBS Application Audio Capture Sources.

Example: !refreshAudio

!refreshBrowserSources

Refreshes all OBS Browser Sources.

Example: !refreshBrowserSources

!endStream

Ends the stream. Requires double-confirmation to prevent accidental uses.

Example: !endStream

Chat Management

!shoutout [Username]

Posts a shoutout into chat.

Example: !shoutout tawmae

!translate [Text]

Translates a given text into a chosen language. You can also reply with a !translate command to translate the original message.

Example: !translate Hallo, guten Tag.

!timeout [Username] <Duration>

Timeout a specified user. The duration is optional, but has to be in angled brackets if specified.

Example: !timeout tawmae <120>

!ban [Username]

Ban a specified user. The reason is optional. Super moderators are able to ban regular moderators.

Example: !ban tawmae

!runAds [User] [Duration]

Run an ad for the specified duration (in seconds). From 30s to 180s, will default to 180s if no duration is provided.

Example: !runAds 120

!prerollTime

Post the remaining preroll-ad-free time to chat.

Example: !prerollTime

!snoozeAd

Snooze the next upcoming ad.

Example: !snoozeAd

!skipTTS

Skips the currently playing TTS in Speaker.bot.

Example: !skipTTS

!modCommands

Sends a link of this website from the commands tab into the chat.

Example: !modCommands

URL Filter

!permit [User]

Permit a specified user to post links to chat for a given amount of time.

Example: !permit tawmae

!addURL [URL]

Add a link to the whitelist.

Example: !addURL twitch.tv

!removeURL [URL]

Removes a link from the whitelist.

Example: !removeURL twitch.tv

!urlAddUser [Username]

Add a user to the URL whitelist.

Example: !urlAddUser tawmae

!urlRemoveUser [Username]

Remove a user from the URL whitelist.

Example: !urlRemoveUser tawmae

!urlFilter

Toggle the URL filter.

Example: !urlFilter

!whitelistedURLs

Post all whitelisted URLs to chat.

Example: !whitelistedURLs

Bot & Hate Raid Protection

!enableFollowAttackProtection

Manually enables the Follow Bot Attack protection mode.

Example: !enableFollowAttackProtection

!disableFollowAttackProtection

Manually disables the Follow Bot Attack protection mode.

Example: !disableFollowAttackProtection

!removeBottedFollowers

Manually remove botted followers from a registered attack.

Example: !removeBottedFollowers

!removeLatestFollowers [Minutes]

Removes all followers that have followed within the last X minutes. Also works if Streamer.bot was not active during the follow attack. Requires double-confirmation to avoid accidental uses.

Example: !removeLatestFollowers 15

!hateRaid

Toggles the hate raid protection.

Example: !hateRaid

Spam Filter

!banWord [Word]

Adds a word to the blacklist.

Example: !banWord asshat

!unbanWord [Word]

Removes a word from the blacklist.

Example: !unbanWord asshat

!toggleBlacklistedWordsFilter

Toggles the filter for blacklisted words.

Example: !toggleBlacklistedWordsFilter

!toggleCapsProtection

Toggles the caps filter.

Example: !toggleCapsProtection

!toggleEmoteProtection

Toggles the emote filter.

Example: !toggleEmoteProtection

!toggleASCIIProtection

Toggles the ASCII filter.

Example: !toggleASCIIProtection

Channel Point Rewards

!enableReward all

or

!enableReward [Reward Group Name]

or

!enableReward [Reward Name]

Enable rewards. Allows to enable all, a specific group or a single rewards

Examples:
!enableReward all
!enableReward Stardew Valley
!enableReward Hydrate

!disableReward all

or

!disableReward [Reward Group Name]

or

!disableReward [Reward Name]

Disable rewards. Allows to disable all, a specific group or a single rewards

Examples:
!disableReward all
!disableReward Stardew Valley
!disableReward Hydrate

!pauseReward all

or

!pauseReward [Reward Group Name]

or

!pauseReward [Reward Name]

Pause rewards. Allows to pause all, a specific group or a single rewards

Examples:
!pauseReward all
!pauseReward Stardew Valley
!pauseReward Hydrate

!unpauseReward all

or

!unpauseReward [Reward Group Name]

or

!unpauseReward [Reward Name]

Unpause rewards. Allows to unpause all, a specific group or a single rewards

Examples:
!unpauseReward all
!unpauseReward Stardew Valley
!unpauseReward Hydrate

!rewardTitle [Reward Name] <New Title>

Change the title of a reward. The title needs to be in angled brackets.

Example: !rewardTitle Hydrate <Hydrate Me!>

!rewardPrompt [Reward Name] <New Prompt>

Change the prompt of a reward. The prompt needs to be in angled brackets.

Example: !rewardPrompt Hydrate <Make me chug a glass of water.>

!rewardCost [Reward Name] <New Cost>

Change the cost of a reward. The cost needs to be in angled brackets.

Example: !rewardCost Hydrate <500>

!rewardCooldown [Reward Name] <New Cooldown>

Change the cooldown of a reward. The cooldown is in seconds and needs to be in angled brackets. 0 to disable it.

Example: !rewardCooldown Hydrate <300!>

!rewardMaxPerStream [Reward Name] <New Max>

Change the max redemptions of a reward. The max needs to be in angled brackets. 0 to disable it.

Example: !rewardMaxPerStream Hydrate <10>

!rewardMaxPerUserPerStream [Reward Name] <New Max>

Change the max redemptions per user of a reward. The max needs to be in angled brackets. 0 to disable it.

Example: !rewardMaxPerUserPerStream Hydrate <3>

Polls & Predictions

!createPoll [Title] | [Duration] | [Option 1] | [Option 2] ...

Create a Twitch poll. Duration is optional, otherwise in seconds. Each section is separated by a pipe symbol |.

Example: !createPoll What should we play next? | 180 | Borderlands 4 | The Witcher 4 | Resident Evil 9 | Alien Isolation 2

!endPoll

Ends an active Twitch poll.

Example: !endPoll

!createPrediction [Title] | [Duration] | [Option 1] | [Option 2] ...

Create a Twitch prediction. Duration is optional, otherwise in seconds. Each section is separated by a pipe symbol |.

Example: !createPrediction Will we survive until 6 PM? | 180 | Yes | No

!lockPrediction

Locks a Twitch prediction.

Example: !lockPrediction

!resolvePrediction [Option Title]

or

!resolvePrediction [Option Number]

Resolves a Twitch prediction. The chosen option can be its title or its number.

Examples:
!resolvePrediction Yes
!resolvePrediction 1

!cancelPrediction

Cancels a Twitch prediction.

Example: !cancelPrediction

DOCKS AND ADDONS


Note: For these addons and docks to work, you will have to enable your websocket server in Streamer.bot. You can find it in the Servers/Clients -> WebSocket Server tab. Leave the Address at 127.0.0.1 and the Port at 8080


Suspicious User Monitoring

You can add the link below as a dock to your OBS. The dock will then list new chatters and accounts that are less than 90 days old and you'll be able to perform quick actions like a purge, timeout or bans on them.
Docking URL: https://tawmae.xyz/overlays/mod-tools-user-monitoring

Follower Remover

In case you want to remove followers within a time range or single botted ones, you can go to this site and check when somebody followed your channel and remove them if needed.
URL: https://tawmae.xyz/overlays/mod-tools-follower-remover

SETTINGS UI

The Settings UI allows for some customization.



General
Some general settings can be set in here.

URL Filter
In here you can filter for links in chat, add links or users to a whitelist and and all the other link related stuff.

Bot Protection
Follow Bot Attacks and Spam Bots ("Cheap viewers on..") are getting handled in this tab. Especially the follow bot attack protection allows you to choose actions and queues to turn off during the attack and turn off browser sources etc. in case you are using external alerts.

Spam Protection
This tab contains settings for blacklisted words, caps, emote spam and ASCII protection. There also is an available dock for OBS that monitors suspicious users (new chatters and accounts that are less than 90 days old).

Hate Raid Protection
Hate Raids are just people trying to ruin your stream experience, usually by giving mean comments in chat. You can decide to what extent the protection mode operates. You can not only set chat modes, but also turn off rewards, alerts and actions for the duration of the attack.

Raids & Shoutouts
Allows you to customize automatic chat shoutouts on raids, snoozing ads on raids, as well as automatically posting your raid messages whenever you raid out.

Chat Management
In here you can set the default duration for polls and predictions (if no duration has been specified) as well as the custom command list settings.

OBS Management
For your moderators to switch scenes, they'll have to know the name of your scenes. Here you can specify whether the list is one message, whether it's being whispered to the mod and you can exclude certain scenes from showing up in that list.

Super Moderators
Choose your super moderators. Super moderators can use !ban and !timeout commands on other moderators and have special priviliges, if you toggle the according switches.

Chat Responses
Customize your chat responses and make use of the variables listed below.

FAQ & EXAMPLES

Can I disable certain chat responses?

Yes. In the Settings UI in the Chat Responses tab, you can enter a single hyphen - as the message and it'll then not post it to chat.

You also have the possibility to add a noMessage argument with a Set Argument subaction and its value at True to surpress a single reply, instead of ditching the entire reply with the hyphen as a whole.

CHANGELOG
Date Changes Version
July 19, 2025 Release 2.0.0