Jump to content
McKay Development

Dr. McKay

Administrator
  • Posts

    3591
  • Joined

  • Last visited

Everything posted by Dr. McKay

  1. The different modules are good at different things. steam-user only handles communication with the Steam CM servers. Confirmations don't go through those servers, so you need steamcommunity for that. In my opinion, you should use steam-user, steamcommunity, and steam-tradeoffer-manager for the most robust system.
  2. If you're saying that your problem is that it isn't prompting for an email code and is instead logging directly in, that's on purpose. It saves the sentry file (which, if provided in logon [which it does automatically], you don't need an email code). If you need to prompt an email code request, you can delete the sentry file under %localappdata%\doctormckay\node-steamuser (on Windows).
  3. Steam sends the data differently sometimes. Update to 2.8.1 and I've made the tags objects all be standard (that is, they have all the properties).
  4. You need to update steam-client.
  5. No, that's wrong. Don't call counter() more than once. Call it once and store the result in a variable.
  6. offer.counter() returns a new TradeOffer object. You need to perform your changes on that TradeOffer that it returns.
  7. There's nothing in the module right now to parse comments.
  8. No, I don't think it's possible to opt specific offers out of cancelOfferCount canceling.
  9. If you only want the latest, you could get the keys using Object.keys, sort it (YYYY-MM-DD sorts alphabetically quite nicely), then pull the first/last element (depending on how you sorted it).
  10. You can control cancelTime per-offer using the cancelTime data key: https://github.com/DoctorMcKay/node-steam-tradeoffer-manager/wiki/TradeOffer#datakey-value
  11. You'd want to foreach loop over the object and pull the maximum value, just like you're foreach looping prices to get the item.
  12. Getting the highest price would be pointless; you'd basically always just get $99,999.99.
  13. https://github.com/OPSkins/node-opskins-api#getlowestpricesappid-callback may be what you're looking for.
  14. The expires property tells you when Steam will expire the offer. It's always two weeks after the offer was sent. You cannot change it. It's distinct from cancelTime.
  15. And your versions: npm list
  16. Cookies obtained from a CM are invalidated as soon as the connection drops. You should pause your queue when you get disconnected, and only restart it once webSession gets emitted after reconnection. No, I don't believe that would be a problem.
  17. I've added a section to the "Cookies" guide post about how different modules use them.
  18. No, the sentries aren't particularly important if you're using 2FA.
  19. Yes, use the setPersona method.
  20. SteamCommunity and TradeOfferManager need only cookies to operate. That's how they keep track of their session. SteamUser operates directly through Steam's CM servers, not through the web. It doesn't need cookies for anything; it's merely capable of creating them (via the CM). Thus, you can create cookies through either SteamUser or SteamCommunity, and then provide them to SteamCommunity and TradeOfferManager. If you're already logging in with SteamUser then cookies are created automatically, even if you don't request them. Thus, it's unnecessary (and potentially problematic) to also create them via SteamCommunity. Basically, you want: user.on('webSession', function(sessionID, cookies) { manager.setCookies(cookies, function(err) { if (err) { throw err; } }); community.setCookies(cookies); }); community.on('sessionExpired', function() { user.webLogOn(); }); It's also potentially helpful to just automatically call webLogOn every 30-60 minutes, just to be sure that it's always fresh. And finally, don't run the same account in two places or else the cookies have a nasty habit of expiring prematurely.
  21. Show your code, please. And your versions.
  22. I don't know offhand why it wouldn't be writing the files at all, but why not just disable the singleSentryFile option to get the behavior you want without implementing your own save handler?
×
×
  • Create New...