Jump to content
McKay Development

derogs

Member
  • Posts

    2
  • Joined

  • Last visited

Posts posted by derogs

  1. Hello, dear community,

    I am currently trying to manage multiple bots. I have made a bot.js where I am declaring how the object of the bot has to be. In the app.js I am making, for every steam account I have, a bot object and starting each bot synchronously after the bot before has been successfully logged in before.

     

    Now my problem:

    Let's say I have 10 steam accounts, every account owns Counter Strike and has a minimum spent of $5 in market.

    If I now start all bot instances, all steam accounts are shown as 'Currently In-Game Counter-Strike: Global Offensive' as far as good.

    But if I now send a trade offer to one of these bots, whatever bot I send the trade offer to it never gets accepted plus in the log files it says always: "Bot #10: Accepted offer. Status: pending"(Strange because the offer wasn't accepted!).

    So whatever bot I send the offer to, it's always bot #10 (the last bot) that tries to accept the offer.

     

    bot.js

    var SteamUser = require('steam-user');
    var SteamTotp = require('steam-totp');
    var SteamCommunity = require('steamcommunity');
    var TradeOfferManager = require('steam-tradeoffer-manager');
    
    var client;
    var community;
    var manager;
    var logOnOptions;
    
    function Bot(options, loggedIn){
            //loggedIn -> Callback function, fires when client logs in successfully.
    
    	client = new SteamUser();
    	community = new SteamCommunity();
    	manager =  new TradeOfferManager({
    		steam: client,
    		community: community,
    		language: 'en'
    	});
    
    	logOnOptions = {
    		accountName     :     options.accountName,
    		password        :     options.password,
    		twoFactorCode   :     SteamTotp.generateAuthCode(options.shared_secret)
    	};
    
    	client.logOn(logOnOptions);
    
    	client.on('loggedOn', () => {
    		console.log('Bot #'+options.id+' is running...');
    		client.setPersona(SteamUser.Steam.EPersonaState.Online);
    		client.gamesPlayed(730);
    		loggedIn();
    	});
    
    	client.on('webSession', (sessionid, cookies) => {
    		manager.setCookies(cookies);
    
    		community.setCookies(cookies);
    		community.startConfirmationChecker(10000, options.identity_secret);
    	});
    
    	manager.on('newOffer', offer => {
    
    		if (offer.partner.getSteamID64() === '76561198100124418') {
    			offer.accept((err, status) => {
    				if (err) {
    					console.log('Bot #'+options.id+': Error while accepting. '+err);
    				} else {
    					console.log('Bot #'+options.id+': Accepted offer. Status: '+status);
    				}
    			});
    		} else {
    			offer.decline(err => {
    				if (err) {
    					console.log(err);
    				} else {
    					console.log('Bot #'+options.id+': Canceled offer: No trusted SteamID.');
    				}
    			});
    		}
    	});
    }
    
    module.exports = Bot;
    

    app.js

    var Bot = require('./bot.js');
    var config = require('./config.json');
    
    var bots = [];
    var x = 0;
    
    var loopArray = function(arr) {
        startBot(arr[x],function(){
            x++;
            if(x < arr.length) {
                loopArray(arr);
            }
        });
    }
    
    function startBot(options,loggedIn) {
      console.log("Starting Bot "+options.id);
      var bot = new Bot(options, ()=>{
        bots.push(bot);
        loggedIn();
      });
    }
    
    loopArray(config);
    
    

    I hope someone can help me ^^

     

    Thank you in advance for any answers!

    -degs

×
×
  • Create New...