Scam Remove Bot

I’ve taken a look into the old roblox.js and this was basically caused, because of outdated method of fetching page id. Fixing one line helped.

Just curious, how did you fix it? I know it fetched the first page of the group wall before.

var totalPages = parseInt($('#ctl00_cphRoblox_GroupWallPane_GroupWallPager_ctl01_Div1').find('.paging_pagenums_container').text(), 10);

changed into

var totalPages = parseInt(/Page (\d+)/.exec($('#ctl00_cphRoblox_GroupWallPane_GroupWallPager_ctl01_Div1').text())[1], 10);

in the getWall.js

2 Likes

Hi guys!

Just wanted to throw out my solution for combatting these nasty automated creatures, as everyone hates spam/scam and especially falling for them.

My solution is fairly simple:

  • User joins my group
  • User must verify their identity (enter game and click “this is me” or paste code in bio)
  • 10% of community must approve the new member
  • User fails to verify/get approval in 7 days? Exile them

The second bulletin should be enough, but with an active community the last shouldn’t be hard to accomplish. Through this method, I’ve not only successfully kept scammers/spam out of my community, but have established a community of people who are actually interested in it’s growth/success. Best of all? It’s been working well for 8 months now.

4 Likes

Just realized I never posted the working code eh… Here you go!

var rbx = require('0q0-roblox');
var request = require('request');

var username = 'Put the username of the bot here';
var password = 'The bots password here';

var groupId = "The ID of the group you want the bot to protect";

var keywords = [
  "thousands of robux",
  "thousands",
  "is giving access to",
  "giving access",
  "all game passes",
  "this is an official event",
  "official event",
  "no info needed","to the following link",
  "👉: rewardtool.se",
  "rewardtool.se",
  "rewardtool",
  "robux"
];

rbx.login(username, password).then(function() {
  console.log("LoggedIn");
  rbx.getWall({group: groupId}).then(function(data){
    var posts = data.posts
    for(var i = 0; i < data.posts.length; i++) {
      var found = 0;
      var message = data.posts[i]
      for (let phase of keywords) {
        if (message.content.toLowerCase().search(phase) != -1) found +=5;
      }
      if (/\S+\.\S+/.exec(message.content)) {
      //  found += 5;
      }
      if (found >= 5) {
          console.log("Removing Scam post from " + message.author.name );
          rbx.deleteWallPost({id:message.id, group:groupId}).catch(function(e) { });
        //  rbx.exile({group: groupId, target: message.author, deleteAllPosts: true});
      }
    }
  }).catch(function(e) { console.log(e); });

  var onWallPost = rbx.onWallPost({group: groupId});
  onWallPost.on("data", function(data) {
    var found = 0;
    for (let phase of keywords) {
      if (data.content.toLowerCase().search(phase) != -1) found+=5;
    }
    if (/\S+\.\S+/.exec(data.content)) {
    //  found += 5;
    }
    if (found >= 5) {
        console.log("Removing post with `" + data.content + "`` content!");
      rbx.deleteWallPost({id:data.id, group:groupId}).catch(function(e) { });
    }
  });
  onWallPost.on("close", function(e) { console.log("The event has disconnected!"); });
  onWallPost.on("error", function(e) { console.log(e); });
}).catch(function(e) {console.log(e); });
7 Likes

theres a new kind of bot. Forcing you to follow the creator of the bot and purchase all his shirts.
easely add these lines into your bot.

IF YOU DONT DO IT WE WONT STOP
FOLLOW https://www.roblox.com/users/58336192/profile
58336192/profile
58336192
LSO BUY THESE SHIRT TO MAKE US HAPPY

:four_leaf_clover: here https://www.roblox.com/catalog/1922816064/thanks :four_leaf_clover: :green_heart: here https://www.roblox.com/catalog/2223945497/GREEN :green_heart: :four_leaf_clover: here https://www.roblox.com/catalog/2219479187/GREEN :four_leaf_clover: :green_heart: and https://www.roblox.com/catalog/2180895534/BLACK :green_heart:

2 Likes

I followed him but never got the robux ? :thinking:

Ya the bots are getting more desperate. Especially the group join bots that spam your group wall.

Just pages of bot join requests.

2 Likes

Roblox did an update causing my bot not to be able to log in anymore. Anyone know where I can found out how to fix this?

1 Like

I think someone else made another “Scam Remover Bot”

@opplo may be able to help you out if you have any problems.

1 Like

The other code is outdated aswell due Roblox doing some update yesterday morning.

1 Like

It wasn’t yesterday morning. Roblox updated their login API almost two weeks ago causing most library login functions to break. roblox-js and noblox.js both have updated functions if you want to use theirs.

1 Like

Please add these aswell to the keywords list
[":point_right:If you are ",
“R$ Instantly.”,
“Get your redemption”,
“Get your code now at this link :point_right:
]

[sorry for posting the link. did forgot to delete it.]

2 Likes

Scamming is obviously not okay and completely violates terms of service. I will look into this and try and have it for all my groups to prevent it. Great job! :+1:

2 Likes

Why would you even include that link on the forum?

Tried it using noblox.js and it worked perfectly! All the scams are deleting one by one. Altough I do wish the bat file could repeat it. I’m not a scripter so would you use the echo command or somethin
(Trust me the bot removed the messages, I checked. I don’t have access to admin logs but the scams are gone)

2 Likes

I just noticed that it only scans the first page of chats, is there any way around that?

For those who don’t want to keep closing the file, I did some research since it bugged me.

:start
node index.js
pause
goto start

if you don’t want to constantly press enter and have it loop after each delete and prettyy much watch the wall all the time

:start
node index.js
goto start

You scribbled out your username the first time but not the second time. Since this is a public category I highly recommend fixing that and re-uploading.

Whoops, It isnt my name but thanks for letting me know hehe

1 Like

This is fully working version running 24/7 (edits done by me) 0q0-roblox is outdated so just change that and it’ll work as a dream. NOTE: It completely deletes all posts containing the word “robux” or “R$” so if you’re having a trading group you may get fake positives. You won’t have to update the keywords as all the scam messages contains the word Robux.

var rbx = require('0q0-roblox');
var request = require('request');

var username = 'Put the username of the bot here';
var password = 'The bots password here';

var groupId = "The ID of the group you want the bot to protect";

var keywords = [
  "thousands of robux",
  "thousands",
  "is giving access to",
  "giving access",
  "all game passes",
  "this is an official event",
  "official event",
  "no info needed","to the following link",
  "👉: rewardtool.se",
  "rewardtool.se",
  "rewardtool",
  "robux",
  "R$"
];

rbx.login(username, password).then(function() {
  console.log("LoggedIn");
  rbx.getWall({group: groupId}).then(function(data){
    var posts = data.posts
    for(var i = 0; i < data.posts.length; i++) {
      var found = 0;
      var message = data.posts[i]
      for (let phase of keywords) {
        if (message.content.toLowerCase().search(phase) != -1) found +=5;
      }
      if (/\S+\.\S+/.exec(message.content)) {
      //  found += 5;
      }
      if (found >= 5) {
          console.log("Removing Scam post from " + message.author.name );
          rbx.deleteWallPost({id:message.id, group:groupId}).catch(function(e) { });
        //  rbx.exile({group: groupId, target: message.author, deleteAllPosts: true});
      }
    }
  }).catch(function(e) { console.log(e); });

  var onWallPost = rbx.onWallPost({group: groupId});
  onWallPost.on("data", function(data) {
    var found = 0;
    for (let phase of keywords) {
      if (data.content.toLowerCase().search(phase) != -1) found+=5;
    }
    if (/\S+\.\S+/.exec(data.content)) {
    //  found += 5;
    }
    if (found >= 5) {
        console.log("Removing post with `" + data.content + "`` content!");
      rbx.deleteWallPost({id:data.id, group:groupId}).catch(function(e) { });
    }
  });
  onWallPost.on("close", function(e) { console.log("The event has disconnected!"); });
  onWallPost.on("error", function(e) { console.log(e); });
}).catch(function(e) {console.log(e); });
5 Likes