Jump to content
McKay Development

Dr. McKay

Administrator
  • Posts

    3630
  • Joined

  • Last visited

Everything posted by Dr. McKay

  1. The post parameters go in the post body, yes. Referer should be the only extra header you need.
  2. You're sending all the post parameters as cookies.
  3. You would need to download the picture from your link and use that.
  4. You have to load inventories separately, but you can mix and match items added to a trade from different games.
  5. You could manually construct an object, like this: let assetIds = [1, 2, 3, 4, 5]; offer.addTheirItems(assetIds.map(id => ({appid: 730, contextid: 2, assetid: id}))); Steam needs to know which game you want to access items for, so the appid and contextid are required.
  6. addTheirItem does not take a number argument. Re-read the docs.
  7. As far as I know, not all content servers require auth tokens anymore and maybe the backend is no longer returning empty auth tokens for servers that don't require one. Or maybe they've fully moved all content servers away from requiring auth tokens. I'll have to do a little research to see which is the case. In the meantime, you could try editing cdn.js and replacing line 230: // Replace this: let {token} = await this.getCDNAuthToken(appID, depotID, vhost); // With this let token = ''; try { token = (await this.getCDNAuthToken(appID, depotID, vhost)).token; } catch (ex) { }
  8. If you print the stack trace from the error, we can see exactly which request failed. There's a few involved in fetching a manifest.
  9. This might have to do with manifest request codes. Try supplying the branch name to getManifest, like so: let result = await client.getManifest(730, 731, latestManifestId, 'public');
  10. addFriend returns a normal eresult. You can see all eresult values at https://steamerrors.com As for which specific codes it's possible to receive, that's not really known.
  11. Because scraping the website to send and receive trade offers is dumb.
  12. You need to spend $5 to access the API, which is necessary for steam-tradeoffer-manager.
  13. I'm assuming you're running multiple instances, so here's a way to keep track of them: let accounts = {}; function loginAccount(accountName, password, twoFactorCode) { if (accounts[accountName]) { throw new Error(`Account ${accountName} is already created`); } let user = new SteamUser(); accounts[accountName] = user; user.logOn({ accountName, password, twoFactorCode }); } function logoutAccount(accountName) { if (!accounts[accountName]) { throw new Error(`No SteamUser for ${accountName}`); } accounts[accountName].logOff(); accounts[accountName] = null; }
  14. You can supply a Steam Guard code to logOn by passing it as twoFactorCode. If you listen for the steamGuard event, the "Steam Guard App Code" prompt is suppressed. You could create your own prompt if you wanted. Probably something like this: user.logOn({ accountName: 'example', password: 'example', twoFactorCode: require('fs').readFileSync('appcode.txt').toString('utf8').trim() }); Just call logOff on the appropriate SteamUser instance.
  15. I dunno, could be just Steam being Steam.
  16. I don't understand the question.
  17. Steam sucks. You should either wait a little while before crediting/deducting user balances, or ignore offers that go into state 3 twice.
  18. That's just par for the course when it comes to Steam, unfortunately.
  19. https://github.com/DoctorMcKay/node-steamcommunity/wiki/SteamCommunity#disabletwofactorrevocationcode-callback
  20. Not as far as I'm aware. The Steam Mobile app uses the R code to disable mobile authentication.
  21. The first argument to updatePrice is which currency you want to get prices in. It seems that the docs are wrong on this, so I've updated them.
  22. I'm not aware of any way to share cookies between multiple IPs.
  23. The only way to avoid rate limits is to make requests from multiple IP addresses.
×
×
  • Create New...