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