Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var Steam = require('steam');
- var SteamUser = require('steam-user');
- var SteamTotp = require('steam-totp');
- var SteamCommunity = require('steamcommunity');
- var community = new SteamCommunity();
- var client = new SteamUser();
- var config = require('./settings/config.js');
- var steam = require('steamidconvert')(config.apikey);
- var request = require('request');
- var filterKeyWords = config.keyWords;
- var usersToBan = [];
- var completeUsers = [];
- // LOGON
- var logOnOptions = {
- accountName: config.username,
- password : config.password,
- twoFactorCode: SteamTotp.generateAuthCode(config.sharedSecret)
- };
- client.logOn(logOnOptions);
- client.on('loggedOn', function(details){
- client.setPersona(SteamUser.Steam.EPersonaState.Online)
- console.log("======================");
- console.log('Succesfully Logged On!');
- console.log("=====================");
- });
- // Respond to chat messages
- community.on('sessionExpired', function (err) {
- console.log('Session expired.');
- if (err) {
- if (err.message == "Not Logged In") {
- // console.log("Trying the error login.");
- client.webLogOn();
- community.chatLogon();
- } else {
- console.log(err.message);
- }
- } else {
- // console.log('Trying to re-login.');
- client.webLogOn();
- }
- });
- client.on('webSession', (sessionID, cookies) => {
- console.log("Websession established");
- console.log("Attempting to set cookies");
- community.setCookies(cookies);
- console.log("Cookies set");
- });
- //Magic Part
- setInterval(getUsers, 15000);
- function getUsers() {
- request('http://steamcommunity.com/comment/Clan/render/103582791455831794/-1/', { json: true }, function(error, response, body){
- var data = [];
- if(!error && body.comments_html){
- var comments = body.comments_html.replace(/href=|"/g, "").replace(/\n|\t|\r/g, "").split("</div>");
- console.log("Comments: " + comments);
- var info = [];
- for (var i = 0; i < comments.length; i++) {
- if(comments[i].includes("commentthread_author_link")){
- console.log("Found commentthread_author_link");
- var user;
- var target;
- var userData = comments[i].split(" ");
- console.log(userData);
- /*for (var x = 0; x < userData.length; x++) {
- if(userData[x].includes("http://steamcommunity.com/id/") || userData[x].includes("http://steamcommunity.com/profiles/")){
- user = userData[x].replace("http://steamcommunity.com/id/", "").replace("http://steamcommunity.com/profiles/", "");
- console.log("User: " + user);
- info.push(user);
- }
- if(userData[x].includes("data-miniprofile=")){
- target = userData[x].replace(/[^0-9]/g, "");
- console.log(target);
- info.push(target);
- }
- }*/
- } else if (comments[i].includes("id=comment_content_")) {
- var comment = comments[i].split("id=comment_content_");
- var words = comment[1].replace(info[2], "").replace(/<br>|class=bb_link|<a|target=_blank|rel=noreferrer|<img/g, "").replace("</br", "").split(" ");
- var removeGid = words[0].split(">");
- words[0].replace(removeGid[0], "");
- for(var i=0; words.length > i; i++){
- words[i].replace(">", "");
- }
- var gidcomment = words[0].replace(/[^0-9]/g, "");
- info.push(gidcomment, words);
- console.log(words);
- }
- //console.log(info.length);
- //console.log(info);
- if(info.length >= 4){
- //console.log("Calling info");
- data.push({user: info[0], target: info[1], gidcomment: info[2], words:info[3]});
- info = [];
- }
- }
- }
- console.log(data);
- console.log(data.length);
- for (var i = 0; i < data.length; i++) {
- for (var x = 0; x < data[i].words.length; x++) {
- if(filterKeyWords.indexOf(data[i].words[x]) >= 0){
- if(usersToBan.indexOf(data[i].user) === -1){
- //console.log("Banning user: "+data[i].user);
- usersToBan.push(data[i].user);
- //console.log(usersToBan);
- }
- }
- }
- }
- });
- }
- setInterval(function(){
- for (var i = 0; i < usersToBan.length; i++) {
- if(isNaN(usersToBan[i])){
- steam.convertVanity(usersToBan[i], function(err, res) {
- if (err){
- console.log(err);
- } else {
- completeUsers.push(res);
- }
- });
- } else {
- completeUsers.push(usersToBan[i]);
- }
- }
- }, 5000);
- setInterval(function(){
- if(completeUsers.length >= 1){
- for (var i = 0; i < completeUsers.length; i++) {
- community.kickGroupMember(completeUsers[i], function(err){
- if(err){
- console.log(err);
- } else {
- console.log("Kicked User(s): " + completeUsers[i]);
- completeUsers.splice(0, 1);
- i=0;
- console.log(completeUsers);
- }
- });
- }
- }
- }, 5000);
- setInterval(() => {
- client.webLogOn()
- }, 1000 * 3600)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement