Intercept Scam Messages--Scam Interceptor

Untitled drawing (96)

Scam Interceptor (1)

Hello everyone! I open sourced another project, the Scam Interceptor! This simple and easy to understand script removes messages that are determined to be scams. Unlike other solutions, there are no meaningful consequences for false positives and it's fully customizable.

Scam Interceptor (2)

A table of "sets" is created. Each set has a table of key words (Lua patterns) with weights.

For example, this is a possible set:

["scamming"] = {
	[""] = 1;
	[""] = 1;
	["robux"] = 0.6;
	["r%$"] = 0.6;
	["blox"] = 0.2;
	["page"] = 0.2;
	["free"] = 0.6;
	["gamepasses"] = 0.2;

If a message is found to have a weight higher than 1.0 in any single set then it’s consider suspicious and not sent to players.
Example: The message “I am giving away free robux and gamepasses” would be considered suspicious because it has "free" (+0.6), "robux" (+0.6), and "gamepasses" (+0.2)–which totals to 1.4 (which is greater than 1.0) so it failed to pass the "scamming" set.

If you can't watch the video above, it shows a player chatting scams and normal messages, and the system filtering the scams but not similar messages.

Scam Interceptor (3)

You can add new sets for any purpose or scam. This can be used for anything from bullying to scamming to swearing. In addition, there is a section where you can add your own code. The speaker's name and message along with the reason the message was filtered are available to use in this section.

Scam Interceptor (4)


Source code:

Uncopylocked game:

GitHub Repository:

To use this script simply add the script called “ScamInterceptorLoader” to the Workspace (should be the default for inserted scripts) or the ServerScriptService.

Scam Interceptor (6)

Thanks for reading! I hope this helps! If you have any questions feel free to DM me or ask them below! If you don’t mind, it would be super cool if you all could post the sets you’ve created to help other developers keep their players safe!


This is actually a very helpful resource, from my time on Roblox, I observed that scams do as much damage to player experience than exploiting. This will be a very useful resource for newer developers such as myself!


The model isn’t for sale. I recommend fixing that, lol.


Yes. You should also make it auto update from Github so games could get a large list of scam adresses. Also try to combine your your Scam interceptor with CaptchaTheFlag - Protect your game from bots and Human Verification Captcha by dispeller (AKA ToldFable).
Also try to add more detection lines. As well as give the user feedback that their message did not go trough.

1 Like

Can you create a GitHub so people can send PR’s?

Agree. This model is god tier-especially for those annoying bots on Roblox.

1 Like

Do you reset individual players’ points after an interval? For example, let’s say a person has been playing the game for 3 hrs and has been nonstop talking, he’s bound to fail by these sets.

Thanks for letting me know! I thought I pressed allow copying when I published it in studio, sorry about that!

It’s based on individual messages. Each message gets a score for each set and if any one set goes over a score of 1.0 it’s not sent to players.

1 Like

I’ll add a repository today. It’s a pretty short and simple script so I didn’t think that having one would be helpful. Now thinking about it, different versions could be helpful.
Edit: I added the repository. Let me know if there are any problems.

I’ll look into this, thanks for the feedback!

Rely to Feedback:

I don’t think I’ll add either of these Captchas, as they are both easy to bypass and adding them to the module is only one or two lines of code. If anyone is wondering how to add them, DM me and I’ll be happy to write you a bulletin post about it :slight_smile:

Auto updating from GitHub would be cool, though one of my goals in creating this was to make something that was both customizable and easy for complete beginners. I do like the idea however so I might eventually add serialization for sets so that people can use StringValues to easily store and share sets with each other. I also might add some CMD line code to update the current sets from GitHub.

This is really useful! I was looking for something just like this I might give it a test.