Advertisement
Guest User

Automod Debug 2

a guest
Nov 10th, 2017
156
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.     for (var i = 0; i < comments.length; i++) {
  69.       if(comments[i].includes("commentthread_author_link")){
  70.         console.log("Found commentthread_author_link");
  71.         var user;
  72.         var target;
  73.         var userData = comments[i].split(" ");
  74.         console.log(userData);
  75.         /*for (var x = 0; x < userData.length; x++) {
  76.           if(userData[x].includes("http://steamcommunity.com/id/") || userData[x].includes("http://steamcommunity.com/profiles/")){
  77.             user = userData[x].replace("http://steamcommunity.com/id/", "").replace("http://steamcommunity.com/profiles/", "");
  78.             console.log("User: " + user);
  79.             info.push(user);
  80.           }
  81.           if(userData[x].includes("data-miniprofile=")){
  82.             target = userData[x].replace(/[^0-9]/g, "");
  83.             console.log(target);
  84.             info.push(target);
  85.           }
  86.  
  87.         }*/
  88.       } else if (comments[i].includes("id=comment_content_")) {
  89.         var comment = comments[i].split("id=comment_content_");
  90.  
  91.         var words = comment[1].replace(info[2], "").replace(/<br>|class=bb_link|<a|target=_blank|rel=noreferrer|<img/g, "").replace("</br", "").split(" ");
  92.         var removeGid = words[0].split(">");
  93.         words[0].replace(removeGid[0], "");
  94.         for(var i=0; words.length > i; i++){
  95.           words[i].replace(">", "");
  96.         }
  97.         var gidcomment = words[0].replace(/[^0-9]/g, "");
  98.         info.push(gidcomment, words);
  99.         console.log(words);
  100.       }
  101.       //console.log(info.length);
  102.       //console.log(info);
  103.       if(info.length >= 4){
  104.         //console.log("Calling info");
  105.         data.push({user: info[0], target: info[1], gidcomment: info[2], words:info[3]});
  106.         info = [];
  107.       }
  108.     }
  109.   }
  110.   console.log(data);
  111.   console.log(data.length);
  112.  
  113.     for (var i = 0; i < data.length; i++) {
  114.       for (var x = 0; x < data[i].words.length; x++) {
  115.         if(filterKeyWords.indexOf(data[i].words[x]) >= 0){
  116.  
  117.           if(usersToBan.indexOf(data[i].user) === -1){
  118.             //console.log("Banning user: "+data[i].user);
  119.             usersToBan.push(data[i].user);
  120.             //console.log(usersToBan);
  121.           }
  122.          
  123.         }
  124.       }
  125.     }
  126.     });
  127. }
  128. setInterval(function(){
  129.     for (var i = 0; i < usersToBan.length; i++) {
  130.         if(isNaN(usersToBan[i])){
  131.           steam.convertVanity(usersToBan[i], function(err, res) {
  132.               if (err){
  133.                 console.log(err);
  134.               } else {
  135.                 completeUsers.push(res);
  136.               }
  137.             });
  138.         } else {
  139.           completeUsers.push(usersToBan[i]);
  140.         }
  141.     }
  142. }, 5000);
  143.  
  144. setInterval(function(){
  145.     if(completeUsers.length >= 1){
  146.         for (var i = 0; i < completeUsers.length; i++) {
  147.             community.kickGroupMember(completeUsers[i], function(err){
  148.                 if(err){
  149.                   console.log(err);
  150.                 } else {
  151.                   console.log("Kicked User(s): " + completeUsers[i]);
  152.                   completeUsers.splice(0, 1);
  153.                   i=0;
  154.                   console.log(completeUsers);
  155.                 }
  156.             });
  157.         }
  158.     }
  159. }, 5000);
  160.  
  161. setInterval(() => {
  162.     client.webLogOn()
  163. }, 1000 * 3600)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement