Jump to content
McKay Development

Dr. McKay

Administrator
  • Posts

    3389
  • Joined

  • Last visited

Everything posted by Dr. McKay

  1. My assumption is that you're using code written for v1 with v2. You can't provide the message and token to send() in v2. There are separate methods for that.
  2. Please open an issue on Github for this.
  3. Yes. Just use getUserInventoryContents without logging in.
  4. recived may no longer be valid inside of that callback, as i would have changed on the next loop iteration (welcome to closures!). If you use recived.forEach it will work as expected.
  5. That should probably be fine, although I don't know for sure that Steam would give 401 for only logged-out errors. Steam is weird.
  6. "status code >= 400" is inappropriate for detecting if the session has expired. Using that, you'll end up relogging constantly if you end up getting rate-limited (403 or 429), for example.
  7. It will only (mobile) confirm offers you already accepted. That said, I highly discourage using the confirmation checker. Just use acceptConfirmationForObject as needed (after accepting offers).
  8. Do this instead: community.setCookies(["steamLogin=1||invalid", "steamLoginSecure=1||invalid"]);
  9. Pass the community instance in to the constructor of TradeOfferManager, as per the docs.
  10. That's not possible since in generally all circumstances, you should have an offer object already. If you really need to accept an offer by its ID, you'll need to first retrieve the offer object.
  11. You need to send a GET request to fetch confirmations.
  12. You don't need to be logged in to load inventories, only your own (if private) or friends' (if friends-only).
  13. Append the icon_url to this URL: https://steamcommunity-a.akamaihd.net/economy/image/ It's best to use the WebAPI to get profile data.
  14. I guarantee the module is not faulty. I'm using it with over 1000 bots and it works just fine. Make sure you're up to date.
  15. All TradeOffer objects created by TradeOfferManager have a partner field, which is a SteamID object. You can retrieve the account ID (aka partner ID) using id.accountid, or you can convert it to any of the 3 basic formats using id.getSteam2RenderedID(), id.getSteam3RenderedID(), and id.getSteamID64(). getSteamID64 will give you the 76561.... 64-bit ID. You can access the state enum using TradeOfferManager.ETradeOfferState (assuming TradeOfferManager is the result of require('steam-tradeoffer-manager'). You can see it here. An offer's ID is its trade offer ID. Trade offers and trades are distinct things. Not all trade offers result in a trade. A trade is the actual physical exchange of items. A trade offer is.. an offer to trade. Trade offers can be declined, canceled, expired, etc which will result in no trade taking place. If an exchange happens, a trade is created and its 64-bit ID is associated with the trade offer. With TradeOfferManager, you will need to get a TradeOffer object before you can accept it. You can use manager.getOffer to get a TradeOffer. You can use manager.getOffers to see all available offers on your account, or you can just use the newOffer event.
  16. Yes, client.webLogOn is the correct way to do it. I suspect that you're getting a new web session successfully (add some logging to the webSession event to make sure), and you're just doing something else wrong.
  17. There isn't anything in the trade offer that gives you the new item IDs. You need to pull the inventory and make your best guess.
  18. It takes a long time because it has to load multiple pages, since that user has over 100,000 Steam items. Your request implementation works quickly, but is only retrieving around 75 items (or maybe 2000, I'm not sure what the default is).
×
×
  • Create New...