Jump to content
McKay Development

Franz Darelle

Member
  • Posts

    2
  • Joined

  • Last visited

Posts posted by Franz Darelle

  1. Hello sir im using php to communicate with my express my problem is the first offer is doing fine but it loops and get an erro on the second one. here is my code.

    app.post('/test',function(req,res){
        r = req.body;
        items = JSON.parse(r.items);
        const tradeurl = r.tradeurl;
        let client = new SteamUser();
        let manager = new TradeOfferManager({
            "steam": client, // Polling every 30 seconds is fine since we get notifications from Steam
            "domain": "example.com", // Our domain is example.com
            "language": "en",
            "cancelTime":180000
        });
        let community = new SteamCommunity();
     
        // Steam logon options
        let logOnOptions = {
            "accountName": config.username,
            "password": config.password,
            "twoFactorCode": SteamTotp.getAuthCode(config.sharedSecret)
        };
     
        if (FS.existsSync('polldata.json')) {
            manager.pollData = JSON.parse(FS.readFileSync('polldata.json').toString('utf8'));
        }
     
        client.logOn(logOnOptions);
     
        client.on('loggedOn', function() {
            console.log("Logged into Steam");
        });
     
        client.on('webSession', function(sessionID, cookies) {
            manager.setCookies(cookies, function(err) {
                if (err) {
                    console.log(err);
                    process.exit(1); // Fatal error since we couldn't get our API key
                    return;
                }
     
                console.log("Got API key: " + manager.apiKey);
     
                // Get our inventory
                manager.getInventoryContents(570, 2, true, function(err, inventory) {
                    if (err) {
                        console.log(err);
                        return;
                    }
                    // console.log(inventory);
                    // throw "stop execution";
                    if (inventory.length == 0) {
                        // Inventory empty
                        console.log("Dota 2 inventory is empty");
                        return;
                    }
     
                    console.log("Found " + inventory.length + " Dota 2 items");
     
                    // Create and send the offer
                    let offer = manager.createOffer(tradeurl);
                    item = [
                        {
                            appid: 570,
                            contextid: '2',
                            classid: '645249158',
                            assetid: '13126112943',
                            instanceid: '260036609',
                            amount: 1
                        }
                    ];
                    offer.addTheirItems(items);
                    offer.setMessage("Offer: #"+ offer.id);
                    offer.send(function(err, status) {
                        if (err) {
                            console.log(err);
                            return;
                        }
     
                        if (status == 'pending') {
                            // We need to confirm it
                            console.log(`Offer #${offer.id} sent, but requires confirmation`);
                            community.acceptConfirmationForObject(config.identitySecret, offer.id, function(err) {
                                if (err) {
                                    console.log(err);
                                } else {
                                    console.log("Offer confirmed");
                                }
                            });
                        } else {
                            console.log(`Offer #${offer.id} sent successfully`);
                        }
                    });
                });
            });
     
            community.setCookies(cookies);
        });
     
        manager.on('sentOfferChanged', function(offer, oldState) {
            console.log(`Offer #${offer.id} changed: ${TradeOfferManager.ETradeOfferState[oldState]} -> ${TradeOfferManager.ETradeOfferState[offer.state]}`);
            if (TradeOfferManager.ETradeOfferState[offer.state] == 'Accepted'){
                manager.shutdown();
                client.logOff();       
                //process.exit(1); // testing lang
                return;
            }
        });
     
        manager.on('pollData', function(pollData) {
            FS.writeFileSync('polldata.json', JSON.stringify(pollData));
        });
     
        manager.on('sentOfferCanceled',function(reason){
            console.log('offer cancelled franz');
            manager.shutdown();
            client.logOff();
            FS.unlink('polldata.json',function(err){
                console.log('poll data deleted');
                res.send();
            });
        });
     
       
         
    });
    

    the attach file is the result. thank you. hope you guys can help me.

     

  2. you guys have answer for this? cant get it right

     

     offer.addMyItem({
            'assetid': myItem.assetid,
            'appid': appid,
            'contextid': contextid
        });
    
          manager.loadUserInventory(
            partner,
            appid,
            contextid,
            true,
            (err, theirInv) => {
              if (err) {
                console.log(err);
              } else {
                const theirItem =
                  theirInv[Math.floor(Math.random() * theirInv.length - 1)];
                offer.addTheirItem({
                  'assetid': theirItem.assetid,
                  'appid': appid,
                  'contextid': contextid
              });
    
×
×
  • Create New...