Jump to content
McKay Development

Dr. McKay

Administrator
  • Posts

    3408
  • Joined

  • Last visited

Everything posted by Dr. McKay

  1. The documentation suggests that you don't go lower than 10 seconds.
  2. Timeouts are just timeouts. There isn't anything that can be done about them, unfortunately. I'm considering removing the "Data temporarily unavailable" error. That error is returned when the API call succeeds, but the returned offer has no items on either side. I think there's probably a better way to handle that.
  3. Which polling error is more frequent?
  4. Please tell me what the actual errors are.
  5. The event is emitted once per offer. If you encounter an error while processing it, it's your responsibility to queue it for later processing.
  6. Sorry for the late reply. Does that specific offer always appear to be empty?
  7. You can't track a specific item across a trade. You can get the IDs of the new items you received in a trade from the trade receipt page (steam-tradeoffer-manager has a method for this), but there is no defined order of items in the receipt. You can match inputs to outputs using their market_name and other defining characteristics, but if you have two identical items in a trade, there's no way to know for sure which specific item is which.
  8. Firstly, you need to understand that Steam is completely awful, horrible, and unreliable. It depends on how quickly you need to process offers. If you're going to be acting on offers that users send to you or on offers that you send where you receive items, then a higher interval is fine if you provide a node-steam-user object, which provides notifications. Generally, 30 seconds is enough but you can go down to 5 or 10. How frequently are you getting errors, and what do they say? If they're extremely frequent, then there's probably something wrong on your end. More inventory capacity is the primary benefit of getting more bots, but you also need to keep in mind that you can only have 30 outgoing active offers at a time. If you need to have more active trade offers, then you need more bots. Performance-wise, there isn't really a difference. It's mostly just because cases are plentiful and mostly worthless. Banning them keeps inventory space available for items that are worth more. It comes down to preference and user experience. Personally, I think that having the user pick their items on your site and then having your bot send them an offer is the best way. This ensures that you have the user's valid trade URL. It also ensures that the user can only create an offer using items that you allow. If you have the user send you the offer, they can put anything into it and you'll just have to decline/counter invalid trades. As far as downsides, doing it this way means that you need to load users' inventories on your end. Loading inventories is pretty heavily rate-limited by Steam by IP.
  9. When an offer is countered, the original goes into state 4, and a new, unlinked offer is created and sent to you. It shows up in the newOffer event. There isn't any way to link a specific offer to its counter.
  10. Your accountid is a string and not a number. While that should probably be allowed, that's currently not supported. I've made a note of this.
  11. Or to have one server with several IPs and change the localAddress.
  12. https://github.com/DoctorMcKay/node-steam-tradeoffer-manager/wiki/TradeOfferManager#getescrowdurationsteamid-token-callback
  13. Yes. Offer data is stored in poll data, so as long as you're saving and restoring poll data, then the offer's data should be available forever.
  14. I've never experienced a persona data being unavailable. Is there any specific condition which makes it unavailable, or are you talking about just regular Steam failures?
  15. If you're sending like 20 offers per second then there might be an issue, but I highly doubt you have that kind of volume. It's not difficult to just manually download https://steamcommunity.com/profiles/[steamid]/inventory/json/[appid]/[contextid]in whatever language and parse it.
  16. Two things: Sometimes confirmations just don't show up at all. That's just Steam being Steam. See #27. 2000ms is really low for polling. The recommended minimum is 10,000ms for a reason.
  17. You'd need probably 5 IPs. Not necessarily 5 bots, but 5 IPs. You also don't really need a bot to get an inventory.
  18. You need to confirm them. You can use node-steamcommunity's confirmation stuff for this.
  19. It depends on how frequently you'll need to load inventories. If you need to load more than say 2 inventories per minute, you'll get rate-limited pretty hard if you try to do that from one IP.
×
×
  • Create New...