bulgakovk / steamBot

A simple example of bot which can parse items from incoming offers and send outgoing offer trades confirming it by 2FA code.
14 stars 5 forks source link

Items Now Unavailable For Trade #18

Closed ghost closed 8 years ago

ghost commented 8 years ago

Hey, i am trying to trade the same items to my steam account, but when i send more than 1 offer from my bot and then try to accept one of these offers, then on unaccepted offers i see: Items Now Unavailable For Trade. I tried with "if (item.tradable) {" but it's not working. My code:

manager.loadInventory("730", "2", true, function(err, inventory, currencies) {

var itemNames = [];
itemNames[0] = "Chroma 2 Case";
itemNames[1] = "Chroma 2 Case";
itemNames[2] = "Operation Breakout Weapon Case";

var num = 0;

var pool = inventory.filter(function (item) {

    for (var i = 0; i < itemNames.length; i++) {
        if (item.tradable && item["market_name"] == itemNames[i]) {
            itemNames.splice(i, 1);
            num++;
            return true;
        }
    }

    return false;
});

if (num > 0) {
    var gamenum = 5;

    var offer = manager.createOffer("xxxxxxxx");
    offer.addMyItems(pool);
    offer.send("Your winning on site " + sitename + " in game #" + gamenum, "xxxxx", function(err, status) {
        if (err) {
            helper.log("Error (13)", 210, err);
        } else {
            helper.msg(status);
            helper.msg("Trade offer for queue " + gamenum + " sent!"); 
            g_pause = false;
        }
    });
}

});

andrewda commented 8 years ago

This means that the items are no longer in your inventory. Before sending a tradeoffer, check if those assetids have been sent, and if so find a new one to send that hasn't already been sent.