Jump to content
McKay Development

jafix

Member
  • Posts

    40
  • Joined

  • Last visited

Posts posted by jafix

  1. manager.on('newOffer', function (offer) {
      if (item.type.match('Profile Background')) {
    
      receiveBackgroundAmount = offer.itemsToReceive.length
      giveBackgroundAmount = offer.itemsToGive.length
    
      console.log('background true')
    
        if (receiveBackgroundAmount == giveBackgroundAmount) {
          offer.accept();
          console.log('right items true')
        } else {
          offer.decline();
          console.log('right items false')
        }
      }
    });
    
    

    This is what i have now. It should accept a 1:1 background trade. The output i get is:

     

    background true

    right items true

     

    But the offer gets declined.

  2. console.log('[OFFER] Checking trade hold');
    		
    		offer.getUserDetails(function(err, them) { //check for escrow
    		if (err) {
    			throw err;
    		}
    		
    		if (them.escrowDays != 0) {
    			offer.decline();
    			console.log('[OFFER] Declined - Trade hold');
    			tradelog.info('Trade offer #' + offer.id + ' from ' + offer.partner.getSteamID64() + ' declined: trade hold');
    			client.chatMessage(offer.partner.getSteamID64(), "Sorry, we don't accept trade hold");
    			} else {
                                //check trade contents
                            }
                        });
    
    

    This is my script now but my bot accepted an offer resulting in a trade hold, why is that?

  3. console.log('[OFFER] Checking trade hold');
    
    offer.getUserDetails(function(them) { //check for escrow
    
    if (them.escrowDays > 0) {
        offer.decline();
        console.log('[OFFER] Declined - Trade hold');
        tradelog.info('Trade offer #' + offer.id + ' from ' + offer.partner.getSteamID64() + ' declined: trade hold');
        } else {
            //script to check trade contents
        }
    });
    

    I have this part in the manager.on('newOffer', function (offer) { part, so them and offer are defined. The error I'm getting is: Cannot property 'escrowDays' of null.

  4. manager.on('newOffer', function (offer) {
    var onlyCards = (offer.itemsToReceive.every(function(item) {
    			return item.tag == "Trading card" && item.tag == "Not Marketable";
    			}));
    			
    			console.log('[OFFER] Checking offer containments');
    			if (onlyCards) {
    				receiveCardAmount = offer.itemsToReceive.length
    				giveCardAmount = offer.itemsToGive.length
    				
    				if (receiveCardAmount == 2) {
    					console.log('[OFFER] Received items = 2');
    					
    					if (giveCardAmount == 1) {
    						
    						console.log('[OFFER] Given items = 1');
    						
    						offer.accept();
    						client.chatMessage('76561198259000054', 'Trade offer #' + offer.id + ' from ' + offer.partner.getSteamID64() + ' accepted. 2 new cards in inventory');
    						tradelog.info('Trade offer #' + offer.id + ' from ' + offer.partner.getSteamID64() + ' accepted. 2 new cards in inventory')
    						console.log('[OFFER] Accepted - contains correct items');
    					}
    				}
    				
    			} else {
    				offer.decline();
    				console.log('[OFFER] Declined - contains non card items or not the correct amount');
    				tradelog.info('Offer #' + offer.id + ': Declined - contains non card items')
    				}
    			}
    		});
    });
    

    My offer gets declined even though I'm sure I matched everything. I think it's with the tags but it might be a problem with the item amount

  5. Is it possible to make an if statement like

    client.on('friendMessage', function (steamID, message) {
    
        if (message.match('!logoff') {
    
            if (steamID == 76...) {
            client.sendMessage(steamID, 'logging off.')
            client.logOff();
    
            } else {
                client.sendMessage(steamID, 'Sorry, this is an owner-only command'
            }
        }
    });
    

    I just quickly made this script so if there are some errors, I didn't try exactly this script but i tried a script very similar. This part was the same:

    if (steamID == 76...) {
    

    And if there's an option it should be easy to make allow everyone except for 1 steamid/user by just changing == in !== right.

  6. manager.on('newOffer', function (offer) {
    
        console.log('New offer from ' + offer.partner.getSteamID64());
    	tradelog.info('Incoming offer from ' + offer.partner.getSteamID64())
    
        if (offer.partner.getSteamID64() === '76561198259000054' || offer.itemsToGive.length === 0) {
    		offer.accept(function (err) {
    		if (err) {
    			console.log('Can not accept offer #'+ offer.id + err.message);
    		} else {
    		console.log('Trade offer #' + offer.id + ' from ' + offer.partner.getSteamID64() + ' accepted');
    		}
    	});
    		
    	} else {
    		offer.decline();
    		console.log('Offer #' + offer.id + 'sent by ' + offer.partner.getSteamID64() + ' declined, is not a gift/owner offer')
    	}
    });
    

    This the script i currently have. When i send an gift offer, it gets accepted and logged correctly. But when I send an offer from my main account (I'm sure the steamid64 is right) it logs in the console it got accepted, doesn't give an error. But if i look at Steam the offer isn't aaccepted.

  7. Hi, i currently have a really short script for trading but it keeps on giving me that error.

    My current script:

    manager.on('newOffer', function (steamID, respond) {
        console.log('New offer from' + offer.partner.getSteam3RenderedID);
    
        if (offer.partner.getSteamID64() === 76561198259000054 || offer.itemsToGive.length === 0) {
    		offer.accept();
    	}
    });
    

    And on the start:

    var TradeOfferManager  = require('steam-tradeoffer-manager');
    var manager            = new TradeOfferManager({
        steam: client,
        community: community,
        language: 'en'
    });
    
  8. Hello,

    I have a problem with my bot. I have currently this script:

    //loading everything up
    var SteamUser          = require('steam-user');
    var SteamTotp          = require('steam-totp');
    var config             = require('./config.js');
    var SteamCommunity     = require('steamcommunity');
    var TradeOfferManager  = require('steam-tradeoffer-manager');
    var steamID            = require('steamid');
    var Winston            = require('winston')
    var fs                 = require('fs')
    
    var client             = new SteamUser();
    var community          = new SteamCommunity();
    var manager            = new TradeOfferManager({
        steam: client,
        community: community,
        language: 'en'
    });
    
    //logging in
    var logOnOptions = {
        accountName: 'username',
        password: 'password',
        twoFactorCode: SteamTotp.generateAuthCode('shared_secret')
    };
    
    client.logOn(logOnOptions);
    
    client.on('loggedOn', () => {
    	console.log('Logged into Steam');
    
    	client.setPersona(SteamUser.Steam.EPersonaState.Online);
    });
    
    //new items
    client.on('newItems', function (count) {
      console.log(count + " new items in inventory");
    });
    
    //trading	
    manager.on('newOffer', handleOffer);
    function handleOffer(tradeoffer) {
        console.log('New offer #'+ offer.id +' from '+ offer.partner.getSteam3RenderedID());
    
    	console.log('Checking: Gift offer/owner offer');
        if (offer.partner.getSteamID64() === 76561198259000054 || offer.itemsToGive.length === 0) {
            logger.info('User '+ offer.partner.getSteam3RenderedID() +' offered gift/owner offer');
            offer.accept(function (err) {
    		console.log('Offer accepted');
            });
        } else {
    		console.log('Offer is not a gift/owner offer');
        }
         
    		console.log('Checking: Trade hold');
    			offer.getUserDetails(function(err, me, them) {	
    				if (them.escrowDays > 0) {
    					offer.decline();
    					console.log('Offer declined - Trade hold')
    				} else {
    					console.log('No trade hold')
    				}
    			});
    		};
    //	});
    //});
    
    
    
    
    //declining trade requests
    client.on('tradeRequest', function(steamID, respond) {
    	console.log("Incoming trade request from " + steamID.getSteam3RenderedID() + ", declining, sending message");
    	respond(false);
    	client.chatMessage(steamID, 'Sorry, I dont respond to trade requests, use trade offers instead.')
    });
    

    instead of

    manager.on('newOffer', handleOffer);
    function handleOffer(tradeoffer) {
    

    i have also tried

    manager.on('newOffer', function (steamID, respond) {
    

    It doesn't show an error on startup, but when i send a trade offer nothing seems too happen.

×
×
  • Create New...