Void's Anti-Scam [Open Source]

Void’s Anti Scam


Void’s Anti scam is a reworked chat module that filters out core points of a scam message. If it detected a scam message a user error will pop up for the bot (or the person if they use those core words)
afbeelding

and yes this prevents the whole message to be sent.

what do you need to do to make it work


I’m glad you’re interested, once you have obtained the model and unfolded it
afbeelding
you will need to move these 2 folders to the chatService afbeelding

from here you open up the folder called AntiBotSettings and just check the BotFilter boolean.
i also reccomend enabling HTTP requests as the source of these messages are getting aquired from pastebin. want to use your own pastebin? sure however i also do not recomend that since I’ll be updating the pastebin frequently if any different messages pop up.

pastebin setup


For the first step you are wanting to create a new pastebin and get the pastebin ID as shown in the picture where the ID in the browser bar is located.
afbeelding
After that you go into anti bot settings and paste that id into the PasteBinId value
afbeelding
We’re nearly done, hang in there.
Up next is setting up the word combinations to match with the chat messages sent in game onto pastebin.
afbeelding
As shown in this example, the word combination for each message ends at : so first it will check the first word combination, which is visit;robux;browser;just got. Don’t worry about capitals. that has been taken care of.

If that doesnt match it will move up to the second section which is right after the :
From here it will seperate all the word (seperating every word between ;) that need to be matched and checks if they are a match in the message sent by the user (or scam bot).

If they match the message is prevented to be sent and people in game are safe from scams until the message changes. If the message does change just put a : behind the last sentence and create a new word combination to be in the filter.

And thats about it for the AntiScam module.

I would kindly like to ask the community to post scam messages they found in game, with the site blurred out, in the comment section so i can update the paste bin.

thank you :slight_smile:

Custom Chat Support


Read the comments as updates are posted there

Link


87 Likes

Wow this is awesome! Easy to set up too!

3 Likes

Seems nice, I’ll check it out later today.

1 Like

Hey this is cool, but I feel it’d be better to use ChatService to run this, rather than replacing the entire chat. If there are any chat updates, whoever uses this won’t receive the update.

7 Likes

Damn, you got there faster than I did…

Great job though.

3 Likes

i could try and update it a little so it will update with new chat updates aswell. thanks for the feedback :slight_smile:

3 Likes

As @fireboltofdeath said, it may be better to wrap functions in the modules instead of replacing the whole thing.

You can do this without just overwriting the original function so that the chat script will keep its functionality even after updates have been made.

2 Likes

Update!

i made a small update on the module.
afbeelding

these 2 folders are the only folders needing to be placed into the chat service afbeelding
the chatModules folder contains 2 items. a module and a boolean. DO NOT UNCHECK THE BOOLEAN this will cause the scripts to break as the boolean is built in by roblox. The module in here is the new modified module checking every message before sending it to the server/other user.

afbeelding

The module is only a modified ChatMessageValidator(feel free to look into it) and the chance that will change anytime soon is small and if it does get a big update I’m pretty sure roblox will announce it. anything else around it will be updated to it and i’ll make sure to notify people if an update is available. for now i don’t have alot of time to modify it. I’ll be working on a valid update soon regarding the compact usage of the model!

the functionality of how the model works doesn’t change. This is just a small update until i got time to make it more efficient.

2 Likes

I’m a little iffy about this. While it does do an interesting job in preventing the sending of scam-like messages, there are several observable issues.

  • The word blacklist is maintained through a third-party service. If that goes down, the blacklist becomes inaccessible. People can also look at the global blacklist and work around it.
  • The word blacklist does not update in real time and is only fetched once as in when the server begins. (?)
  • The blacklist is extremely strict and doesn’t filter by context.
    • Regular conversations involving these phrases will be blocked.
    • You have to constantly maintain the blacklist for new contexts. This is a form of indirect manual moderation. Manual moderation is not scalable or resourceful in a good majority of cases.
  • Usage of this module requires forking a part of the chat system which can be highly prone to change. You should change to wrapping the function or assigning a new function to any relevant parts of the originally forked modules.

Nevertheless, although I personally will not use it (I like to code my own items), this is a neat creation. Thanks for sharing.

4 Likes

the blacklist updates in real time. every 10 seconds it asks for a HTTP get request to the pastebin (which is 6 requests per minute of the max of 500) the module is explicitly made to only block messages with the required words in it for e.g. if someone sends “generating robux” or “i have x robux” it won’t block it but if someone sends, as shown in the example of the model, a phrase like: “x just got tons of robux from xsite. visit xsite in your browser to generate tons of robux” will get blocked from sending due to in the example it saying just got;robux;browser;tons;generate you could also aswell just put the sites in the pastebin as i don’t see people sending sites like that unless its a scam message.

and yes people have to constantly maintain the backlist OR don’t do it themselves as i will be updating it frequently if i see any new scam like messages so no work for any of you but me :wink: and regarding the wrapping i agree. as said above i will be implenting that later on due to lack of time i got right now.

another small note, the chance that pastebin will go down is small. if it does i’ll be sure to notify everyone that’s interrested in this system when i have updated it to a different version. the reason for the 3rd party service is for a real time update and easy adjusting without needing to update the code.

i appriciate all the feedback you gave and I’ll see what i can do to improve it more later on as i find it very important that roblox remains a safe space for developers and players without the need of being worried about scammers.

5 Likes

Update Log


Custom chat compatible

Custom chat compatible

afbeelding

  • Wrapped the anti-scam source into a module to be called from other scripts
  • When using a custom chat in game check the “CustomChat” boolean.

If the “CustomChat” boolean is checked the module returns a succes and response. 2 examples for 2 different types of custom chats so you know when to check the boolean and when not.

Fully custom chat

This one requires to have the customChat boolean on
local chatValidator = require(game.ServerStorage.AntiBotSettings.AntiScamModule.Value)
local Custom_ChattedEvent = EventLocation.CustomChattedEvent -- or whatever the event name is

Custom_ChattedEvent.OnServerEvent:connect(function(player, message) 
-- the validator needs a message to check.
	local success, response = chatValidator.Checkmessage(message)
	if success then
		-- proceed to let the message show for others 
		Custom_ChattedEvent:FireAllClients(response) 
		-- whatever suits your code, response here is the message that got sent
	else
		-- prompt the response to the player that sent the message (or not)
		Custom_ChattedEvent:FireClient(player, response)
		-- response is the warning: "Bot message detected. Message prevented from being sent"
	end
end)

Custom chat using the roblox chatbar

This one requires to have the customChat boolean off as it still uses the chat service.
local chatValidator = require(game.ServerStorage.AntiBotSettings.AntiScamModule.Value)
local Custom_ChattedEvent = EventLocation.CustomChattedEvent -- or whatever the event name is

game.Players.PlayerAdded:Connect(function(player)
	player.chatted:connect(function(message)
		local success, response = chatValidator.Checkmessage(message)
		if success then
			-- proceed to let the message show for others 
			Custom_ChattedEvent:FireAllClients(response)
		else
			-- prompt the response to the player that sent the message (or not)
			Custom_ChattedEvent:FireClient(player, response)
		end
	end)
end)

These are just code examples to visualize the usage of this model on custom chats. The placing of the ChatModules folder is still the same. Put the ChatModules folder in the chat service.

If you do choose to move the anti-scam module around feel free to do so. The objectValue named “antiScamModule” refers to the module so it’s advised to not touch that.

it’s required to move the AntiBotSettings folder into ServerStorage now

Pastebin updated

Due to issues regarding e.g. youtubers getting overflown by “monitoring” bots I adjusted the pastebin to block those messages as well. If you do not want messages like that to be blocked please create your own pastebin.

The pastebin with current word combination restrictions can be found here:
void's AntiScam - Pastebin.com

3 Likes

Hey, @VoidedBIade so I am currently having an issue with the anti-scam as I did it on a test account, but it doesn’t seem to work. Did I put it in the wrong area? I did put it in the Chat and using the default roblox chat. I did create a pastebin text blacklist but it doesn’t seem to work at all.

image

The issue regarding the anti scam not working has been solved.
the new version of the anti scam module can be found on the same place as before. right here.

1 Like

Feedback

The bot won’t allow me to send numbers.

  • I want to know what is the reason behind this

  • I want to know if I can avoid this and how

Although Roblox would filter numbers anyway I don’t want my players to have an impression that it’s the game’s fault.

1 Like

i don’t seem to find any issues with numbers what so ever. just a few questions in order to see and find the issue.

  1. are you using your own pastebin or the one provided with the model?
  2. if you are using a personal pastebin. it’d be helpful to send the link so i can inspect if you’ve done the format correctly.
  3. are there any errors occuring in the output?

Can say I’ve got the same issue too with @RuizuKun_Dev

I’m using your pastebin, no errors with this either

good job mate would use for sure :+1:

1 Like

Very useful tool to finally get bot messages out of roblox games!

Like colbert said earlier, it can be a bit frustrating when typing things like “I have tons of robux” to a friend whilst not meaning malicious intent - only to perhaps brag or to convince a friend. The filter does not take into account the context of the message, and it will be filtered. I advise you to use a neural network/machine learning algorithm to fix this issue.