Jump to content
McKay Development

Dr. McKay

Administrator
  • Posts

    3389
  • Joined

  • Last visited

Everything posted by Dr. McKay

  1. The only receivedOfferChanged notification is for an active received offer going into another state (decrement of "pending active offers" notification count). 5 seconds should be okay.
  2. As of v1.20.0, you can pass your own SteamCommunity to the constructor of TradeOfferManager. You can pass your own request to the SteamCommunity constructor and you can specify a proxy to request via request.defaults.
  3. Using the Steam client is the fastest way to get notifications, but you still need polling to make sure you get everything (Steam doesn't send notifications when offers you send in which you receive no items are accepted, for example). Polling every second is overkill, but is possible.
  4. That's a known Steam issue. Some confirmations just aren't shown by Steam.
  5. https://github.com/MrJohz/appdirectory/issues
  6. I think I'm also going to change how poll data saving/restoration works, making it a string instead of an object, removing the need to JSON.stringify and JSON.parse.
  7. newOffer isn't emitted for sent offers. Also, please update to the latest version.
  8. Read the documentation. Specifically you need to save the steamguard value from the callback of login and provide it to subsequent calls to login.
  9. Reposting this as I would like some feedback if anyone has it. At this point I like the trade URL idea enough that I'm potentially willing to just accept the risks and put a big bold warning in the docs.
  10. Good catch, that's indeed a bug. Fixed in v1.20.2. Were you on the beta version when you first made this thread?
  11. You have no options with steam-tradeoffer-manager. There might be some modules that scrape the HTML instead, but you're in for a really bad time if you try that. I don't know what it's called or if it's maintained.
  12. You use node-steam-totp to generate a login code from your shared_secret, and pass it to node-steamcommunity's login method as twoFactorCode.
  13. Yes, that's the best (and only) way to do it. You need an API key if you want to use the WebAPI. Based on your error message I assume that you're using steam-tradeoffer-manager, which does need an API key and consequently won't work with limited accounts. So yes, you'll need to spend $5 per bot.
  14. Your own account? Or someone else's account? If you want games someone else owns, there's a WebAPI method for that.
  15. I don't know an awful lot about CS:GO, but I know that you can't inspect any tools. I don't know if there are any skins that can't be inspected.
  16. https://httpstatuses.com/500 500 just means Steam is broken and you'll have to try again later. There isn't anything you can do.
  17. 1. Calling login() again with your username and password is guaranteed to renew your session (unless Steam is having problems). The oAuthLogin method is supposed to do this, but I believe it doesn't work 100% as expected. 2. There isn't any event. Currently you just have to check loggedIn every so often. The next update will most likely add such an event.
  18. Just pass true for that argument, and in the callback the items will have an actions array defined and populated with the inspect link (and any other applicable actions).
  19. I just thought of a potential issue with using just the trade URL. Presently you have to construct an offer using a SteamID explicitly. Getting the ID from the URL opens sloppy implementations to the potential for users to send offers to other users. For example, a typical implementation currently has a user sign in through Steam's OpenID, then prompts the user for their trade URL. Both of these are sent to the bot. The offer is created using the authenticated SteamID, and the token is extracted from the URL. If the trade URL isn't for that user's account, the offer just fails. With the proposed new API, a user could enter someone else's trade URL. If the implementation doesn't check offer.partner, then unrelated users could receive unsolicited offers. Of course, we could add a note to the documentation to check offer.partner when you use a trade URL, but I don't really like the loss of the built-in safeguard.
  20. The way I generally do it is set up a bot in node.js using steam-tradeoffer-manager, and create a Web server in that bot which accepts commands to send trade offers. Then use curl in php to command the bot to send an offer. I believe there are php libraries for interacting with Steam, but I don't personally think php is well suited for that task.
×
×
  • Create New...