Advertisement
Guest User

Automod Debug 3

a guest
Nov 10th, 2017
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var Steam             = require('steam');
  2. var SteamUser         = require('steam-user');
  3. var SteamTotp         = require('steam-totp');
  4. var SteamCommunity    = require('steamcommunity');
  5. var community         = new SteamCommunity();
  6. var client            = new SteamUser();
  7. var config            = require('./settings/config.js');
  8. var steam             = require('steamidconvert')(config.apikey);
  9. var request           = require('request');
  10. var filterKeyWords    = config.keyWords;
  11. var usersToBan        = [];
  12. var completeUsers     = [];
  13.  
  14.  
  15. // LOGON
  16. var logOnOptions = {
  17.   accountName: config.username,
  18.   password : config.password,
  19.   twoFactorCode: SteamTotp.generateAuthCode(config.sharedSecret)
  20. };
  21.  
  22. client.logOn(logOnOptions);
  23.  
  24. client.on('loggedOn', function(details){
  25.   client.setPersona(SteamUser.Steam.EPersonaState.Online)
  26.   console.log("======================");
  27.   console.log('Succesfully Logged On!');
  28.   console.log("=====================");
  29. });
  30.  
  31. // Respond to chat messages
  32.  
  33. community.on('sessionExpired', function (err) {
  34.     console.log('Session expired.');
  35.     if (err) {
  36.         if (err.message == "Not Logged In") {
  37.             // console.log("Trying the error login.");
  38.             client.webLogOn();
  39.             community.chatLogon();
  40.         } else {
  41.             console.log(err.message);
  42.         }
  43.     } else {
  44.         // console.log('Trying to re-login.');
  45.         client.webLogOn();
  46.     }
  47. });
  48.  
  49.  
  50. client.on('webSession', (sessionID, cookies) => {
  51.   console.log("Websession established");
  52.   console.log("Attempting to set cookies");
  53.   community.setCookies(cookies);
  54.   console.log("Cookies set");
  55. });
  56.  
  57.  
  58. //Magic Part
  59. setInterval(getUsers, 15000);
  60.  
  61. function getUsers() {
  62.     request('http://steamcommunity.com/comment/Clan/render/103582791455831794/-1/', { json: true }, function(error, response, body){
  63.   var data = [];
  64.   if(!error && body.comments_html){
  65.     var comments = body.comments_html.replace(/href=|"/g, "").replace(/\n|\t|\r/g, "").split("</div>");
  66.     console.log("Comments: " + comments);
  67.     var info = [];
  68.     var user;
  69.     var target;
  70.     var userData = comments[i].split(" ");
  71.     for (var i = 0; i < comments.length; i++) {
  72.       if(comments[i].includes("commentthread_author_link")){
  73.         for (var x = 0; x < userData.length; x++) {
  74.           if(userData[x].includes("http://steamcommunity.com/id/") || userData[x].includes("http://steamcommunity.com/profiles/")){
  75.             user = userData[x].replace("http://steamcommunity.com/id/", "").replace("http://steamcommunity.com/profiles/", "");
  76.             info.push(user);
  77.           }
  78.           if(userData[x].includes("data-miniprofile=")){
  79.             target = userData[x].replace(/[^0-9]/g, "");
  80.             info.push(target);
  81.           }
  82.         }
  83.       } else if (comments[i].includes("id=comment_content_")) {
  84.         var comment = comments[i].split("id=comment_content_");
  85.  
  86.         var words = comment[1].replace(info[2], "").replace(/<br>|class=bb_link|<a|target=_blank|rel=noreferrer|<img/g, "").replace("</br", "").split(" ");
  87.         var removeGid = words[0].split(">");
  88.         words[0].replace(removeGid[0], "");
  89.         for(var i=0; words.length > i; i++){
  90.           words[i].replace(">", "");
  91.         }
  92.         var gidcomment = words[0].replace(/[^0-9]/g, "");
  93.         info.push(gidcomment, words);
  94.       }
  95.       //console.log(info.length);
  96.       //console.log(info);
  97.       if(info.length >= 4){
  98.         //console.log("Calling info");
  99.         data.push({user: info[0], target: info[1], gidcomment: info[2], words:info[3]});
  100.         info = [];
  101.       }
  102.     }
  103.     console.log("User: " + user);
  104.     console.log(target);
  105.     console.log(words);
  106.   }
  107.   console.log(data);
  108.   console.log(data.length);
  109.  
  110.     for (var i = 0; i < data.length; i++) {
  111.       for (var x = 0; x < data[i].words.length; x++) {
  112.         if(filterKeyWords.indexOf(data[i].words[x]) >= 0){
  113.  
  114.           if(usersToBan.indexOf(data[i].user) === -1){
  115.             //console.log("Banning user: "+data[i].user);
  116.             usersToBan.push(data[i].user);
  117.             //console.log(usersToBan);
  118.           }
  119.          
  120.         }
  121.       }
  122.     }
  123.     });
  124. }
  125. setInterval(function(){
  126.     for (var i = 0; i < usersToBan.length; i++) {
  127.         if(isNaN(usersToBan[i])){
  128.           steam.convertVanity(usersToBan[i], function(err, res) {
  129.               if (err){
  130.                 console.log(err);
  131.               } else {
  132.                 completeUsers.push(res);
  133.               }
  134.             });
  135.         } else {
  136.           completeUsers.push(usersToBan[i]);
  137.         }
  138.     }
  139. }, 5000);
  140.  
  141. setInterval(function(){
  142.     if(completeUsers.length >= 1){
  143.         for (var i = 0; i < completeUsers.length; i++) {
  144.             community.kickGroupMember(completeUsers[i], function(err){
  145.                 if(err){
  146.                   console.log(err);
  147.                 } else {
  148.                   console.log("Kicked User(s): " + completeUsers[i]);
  149.                   completeUsers.splice(0, 1);
  150.                   i=0;
  151.                   console.log(completeUsers);
  152.                 }
  153.             });
  154.         }
  155.     }
  156. }, 5000);
  157.  
  158. setInterval(() => {
  159.     client.webLogOn()
  160. }, 1000 * 3600)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement