You know those scam bots, right? The ones that join your game and chat messages to scam links over and over again. We know that these links do not give out the promised “reward”; at least most of us do. It’s really hard to detect if a user is a scam bot or not, since the bots can always change their meathod of “attack”. By using machine learning, we can pool together tons of data to help make it easier to detect bots.
Installation
Take the model from here, and open the README script located under the model.
Steps
ENABLE HTTP REQUESTS (under game settings). If this step is not done, the module won’t be able to function
Modify the settings in “AntiBotMain” to your liking
Watch the scam bots go down!
Contribute
To make AntiBot faster and more advanced, we need the community’s help to add more to the AI. The more data the AI has, the better it will preform. To do this, read our contribution guide here
Planned features
Some planned features in mind are:
Adding a “report” feature where users can report scam bots, and it will add their message to the training data
Optimizing the code
Stopping scam messages from going through
And more!
I’ve always thought that neural networks may be a potential solution for the scam problem. I’m really glad someone made it a reality!
I do wonder - how effective is it as of now? I know the point of a neural network is that it adapts and becomes increasingly more effective, but I assume you have some base training data?
(this link is dead)
I am really curious how you will go about allowing public contributions, especially because it would not be hard to corrupt the training data by marking scam messages as not scams. You could easily create a bot to just flood the system with scam messages marking them as not scams - and by law of neural networks - it will eventually just start thinking those aren’t scams.
I didn’t personally try it out, but I think you’ll need a lot more training data than that. Right now, you only have training data of messages about people begging for robux and of some of the common bot messages.
You might also want to setup a bit so you don’t get ddosed.
And I think the two links at the top of your post don’t work
As of now, it works against very basic scam messages. I am adding more and more data every day, and my hope is that people from the community can help add more.
Also, another hope of mine was adding a report feature, which could add that data to our training data.
This is just a starting point to grow even bigger!
This is a really cool project, nice work!
One thing worth noting is that you’re going to want a lot more training data for it to be reliable. Right now there’s simply not that much and I can see it tripping up very often.
To help create more and more training data, a “report bot” feature will be added in the next few days. This will help because:
It adds to the training data
It makes the AI faster and smarter
It removes the bot from your game
It will work something like this:
A user sees a scam bot in chat, so they report it. The report gets scanned by the AI to see if it really is a scam. If it is, it’s added to the training data, and the bot gets kicked (you can set this)
What would be nice is to “hide” scam messages instead of removing them. We should allow players to unhide them if they want to as well since we have to consider and account for false positives.
Thanks for the suggestion! Currently, the message is not sent to all users if it is classified as a spam message. There are many configurable options in the script’s settings when you set it up.
@lxgh1lxy - Bump! Reading throughout the code at src/serializer.js, I recommend changing 1000 with 0x10ffff to support all characters, regardless of them being valid or not.
By the way, Replit, the service you used to host AntiBot on, which was previously free, is now a paid service (since early 2024, view source) and the REPL will not be kept alive unless it is deployed. Therefore I recommend a VPS like Time4VPS to keep this project alive.
I was always planning to do more with it but just wasn’t sure if it would get the interest or not. Moving forward I would probably rewrite the entire thing in python (if I do work on it) – don’t know why I ever chose javascript for ML to begin with…
Thanks for bringing me back to this, but still wondering if it’s worth revisiting or not.