Jump to content
McKay Development

Recommended Posts

Posted

I have this code here mostly from the example in the steam trade offer manager. It accepts all trade offers fine (without any exceptions). I added some code where the bot would skip the trade offer if the bot didn't receive any items (a gift offer). I'm struggling to create the part of code where I can filter items and create the prices for them for buy orders and sell orders. Could anyone tell me the syntax for that?

 

CODE SO FAR

//TF2 TRADE BOTvar SteamUser = require('steam-user');
var SteamCommunity = require('steamcommunity');
var SteamTotp = require('steam-totp');
var TradeOfferManager = require('steam-tradeoffer-manager'); 
var fs = require('fs');
require('consoleplusplus')


var client = new SteamUser();
var manager = new TradeOfferManager({
"steam": client, 
"domain": "example.com", 
"language": "en"
})






var community = new SteamCommunity();


// Steam logon 
var logOnOptions = {
"accountName": "username",
"password": "password",
"twoFactorCode": SteamTotp.getAuthCode("sharedSecret")
};


if (fs.existsSync('polldata.json')) {
manager.pollData = JSON.parse(fs.readFileSync('polldata.json'));
}


client.logOn(logOnOptions);


client.on('loggedOn', function() {
var logonmessage = "#magenta{LOGGED INTO STEAM SUCCESSFULLY}"
console.info(logonmessage);
});


client.on('webSession', function(sessionID, cookies) {
manager.setCookies(cookies, function(err) {
if (err) {
console.error(err);
process.exit(1); 
return;
}


console.info("Got API key: " + manager.apiKey);
console.log("________________________________________________________________________________")
});


community.setCookies(cookies);
community.startConfirmationChecker(30000, "identitySecret"); 
});




manager.on('newOffer', function(offer) {
console.info("New offer #" + offer.id + " from " + offer.partner.getSteam3RenderedID());
offer.accept(function(err) {
if (err) {
console.error("Unable to accept offer: " + err.message);
} else {
if(offer.itemsToReceive.length === 0) {
// Gift offer
console.info(offer.partner.getSteam3RenderedID() + " Offer #" + offer.id + " is a gift offer, skipping");
return;
   }else{




community.checkConfirmations(); 
console.log("Offer accepted");
}
}
});
});


manager.on('receivedOfferChanged', function(offer, oldState) {
console.info(`Offer #${offer.id} changed: ${TradeOfferManager.ETradeOfferState[oldState]} -> ${TradeOfferManager.ETradeOfferState[offer.state]}`);


if (offer.state == TradeOfferManager.ETradeOfferState.Accepted) {
offer.getReceivedItems(function(err, items) {
if (err) {
console.error("Couldn't get received items: " + err);
} else {
var names = items.map(function(item) {
return item.name;
});


console.log("Received: " + names.join(', '));
console.log("________________________________________________________________________________")


}
});
}
});


manager.on('pollData', function(pollData) {
fs.writeFile('polldata.json', JSON.stringify(pollData));
});
 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...