Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const SteamUser = require('steam-user'),
- config = require('./config'),
- SteamTotp= require('steam-totp'),
- fs = require('fs');
- let accounts = [];
- let friends = [];
- let accIdx = 0;
- let friendIdx = 0;
- let interval;
- let client = new SteamUser();
- const messages = () => {
- const logOn = account => {
- if( accIdx >= accounts.length ) {
- console.log(`Accounts ended`)
- client.logOff();
- client = new SteamUser();
- clearTimeout(interval);
- } else {
- return new Promise( (resolve, reject) => {
- console.log(`Login as account ${account.login} #${accIdx + 1} from #${accounts.length}`)
- client.logOn({
- accountName: account.login,
- password: account.password,
- twoFactorCode: SteamTotp.getAuthCode(account.sharedSecret)
- });
- client.on("loggedOn", (details, parental) => {
- client.getPersonas([client.steamID], (personas) => {
- console.log(`## Logged in as ${ personas[client.steamID].player_name }`);
- friends = [];
- for( friend in client.myFriends ) {
- if( client.myFriends[friend] == 3 ) {
- friends.push(friend);
- }
- }
- console.log(`On this account ${ friends.length } friends`);
- resolve([]);
- });
- });
- client.on('error', err => {
- if( err ) {
- if( err == 'Error: InvalidPassword' ) {
- console.log('InvalidPassword');
- client.logOff();
- client = new SteamUser();
- accIdx ++;
- logOn(accounts[accIdx]).then( () => {
- sendMessage();
- })
- } else {
- console.log(`${err}`);
- client.logOff();
- client = new SteamUser();
- accIdx ++;
- sendMessage();
- }
- }
- })
- })
- }
- }
- let sendMessage = () => {
- new Promise( (resolve, reject) => {
- if( friends.length > 0 ) {
- console.log(`Send Message to https://steamcommunity.com/profiles/${friends[friendIdx]}`);
- client.chatMessage(friends[friendIdx], config.message);
- resolve(0);
- } else {
- resolve(1);
- }
- }).then( state => {
- interval = setTimeout( () => {
- if( state || friendIdx == friends.length - 1 ) {
- client.logOff();
- client = new SteamUser();
- accIdx ++;
- friendIdx = 0;
- logOn(accounts[accIdx]).then( () => {
- sendMessage();
- })
- } else {
- friendIdx ++;
- sendMessage();
- }
- }, config.interval * 1000)
- })
- }
- if( accounts.length > 0 ) {
- console.log(`Accounts Loaded: ${accounts.length}`);
- logOn(accounts[accIdx]).then( () => {
- sendMessage();
- })
- } else {
- console.log('Import Accounts !');
- }
- }
- fs.readFile('./data/accounts.txt', 'utf8', (err, data) => {
- if( !err ) {
- data.split(/\r?\n| /).map( (log) => {
- let data = log.split(':');
- if( log !== '' ) {
- accounts.push({
- login: data[0],
- password: data[1],
- sharedSecret: data[2]
- })
- }
- })
- }
- messages();
- })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement