Jump to content
McKay Development

Dr. McKay

Administrator
  • Posts

    3398
  • Joined

  • Last visited

Everything posted by Dr. McKay

  1. You need to send a GET request to fetch confirmations.
  2. You don't need to be logged in to load inventories, only your own (if private) or friends' (if friends-only).
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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).
  9. Some people are working on maintaining a list of rate-limits here: https://www.reddit.com/r/SteamBot/wiki/rate-limits
  10. You can get persona data for users (including names) using getPersonas. The only way to get a group name from its SteamID (the 64-bit ID) is to parse XML, unfortunately: http://steamcommunity.com/gid/103582791429521412/memberslistxml/?xml=1
  11. You're logging in anonymously, because you're using account_name instead of accountName.
  12. You can't use the same 2FA code twice. That means that effectively you can't login twice within 30 seconds. That said, you don't have to. SteamUser will give you login cookies you can use with SteamCommunity. client.on('webSession', function(sessionID, cookies) { community.setCookies(cookies); });
  13. https://lab.xpaw.me/steam_api_documentation.html#IPlayerService_GetBadges_v1
  14. https://github.com/DoctorMcKay/node-steam-tradeoffer-manager/wiki/TradeOfferManager#getoffersfilterhistoricalcutoff-callback
  15. Try specifying followAllRedirects = true. Request won't follow redirects for non-GET methods otherwise.
  16. A few things: There's no need to wait for webSessions to tell Steam you're running a gameYou can use client.gamesPlayed([730]); which is a bit simpler and allows steam-user to add some additional data when helpfulYou might want to set yourself as online (setPersona) so you can see on your Steam profile whether you're actually in-game or notCard drops can take a while. How long did you wait?
  17. Yes, there's nothing stopping you from running both a Discord bot and Steam bot in the same application. I don't think it's currently possible to get a friend's match status from node just yet, though.
  18. You need to wait some time between setting your persona to online and trying to retrieve persona data. In fact, I believe Steam should send you the persona data automatically through the user event.
  19. Handle the error event, reconnect, and then only relaunch after your persona data tells you that you aren't in-game anymore.
  20. The easiest way to determine which game a community item belongs to is to check its market_hash_name. All cards/emoticons/backgrounds have their market_hash_names prefixed with the game's appid and a hyphen (e.g. "440-SCOUT").
×
×
  • Create New...