Jump to content
McKay Development

Dr. McKay

Administrator
  • Posts

    3628
  • Joined

  • Last visited

Everything posted by Dr. McKay

  1. relog is only meant to be used when you're connected. When error is emitted, that means you got disconnected and SteamUser won't attempt to automatically reconnect. You should be able to just log back on immediately with your login key. Also, if you want some more descriptive debug output (actual message names and not just numbers), add "debug": true to your constructor options.
  2. 8901 is ClientPICSChangesSinceRequest, so I suppose it stands to reason that Steam is sending a whole lot of product data in a single message, which is transferring really slowly, thus blocking the pong frames from being received in a timely manner. But it would have to be a looooot of data, and in my experience really large PICS changes responses are broken up into multiple messages, so pong frames should make it through. ‍‍¯\_(ツ)_/¯ That would explain your timeouts, but not why the login key is being rejected for session resumption. Perhaps Steam doesn't believe that you've disconnected yet? Or maybe Steam saw the WS close frame and treated it as a logoff and thus invalidated the login key. But that wouldn't explain why it was being rejected when you were using rememberPassword. Perhaps using the previous session ID is invalid when trying to use a remember-password login key and not for session resumption purposes. So again, ‍‍¯\_(ツ)_/¯ Maybe to fix this, websocket13 should avoid tearing down a connection for failure to respond to ping while data is actively coming in. Dunno. But to (finally) answer your question, you should be able to work around this quite well by adding "protocol": SteamUser.EConnectionProtocol.TCP to your constructor options. Plain TCP doesn't use pings to make sure the connection is still alive.
  3. Blocked = 429 for some period of time I don't know off-hand, probably at least 5 minutes. Your best bet is to find some third-party pricing API.
  4. I will add the ability in the next release.
  5. The WebSocket ping timeout means that the Steam server did not send respond to a ping we sent in a timely manner (or more accurately, it didn't respond to 3 consecutive pings within 10 seconds). If Steam isn't down, that means you have network issues. As for why you're being prompted for another app code, I have absolutely no idea. I tried replicating the issue with fake errors and it just re-logged with no issues each time. Maybe try removing or dividing by 1000 your logonID? It's a 32-bit int.
  6. The older events are deprecated, but they will keep working until at least v5. Though I recommend switching to the new events.
  7. getChatMessageHistory is only going to get messages for a chat room.
  8. Yes, that's returning a promise. You should put your code inside of the callback function and call resolve() once you're done.
  9. Can you please give v4.4.4 a shot and let me know if it improves anything?
  10. Have you tried getChatMessageHistory?
  11. As I recall, like 20 requests inside of 5 minutes or so will get you blocked. Using the endpoint to get a single price is really not a good way to go about doing things.
  12. ConvertToKeys2 is not an async function (nor does it return a Promise), so that's why await isn't awaiting anything.
  13. I don't see anything obvious in your code that would cause that. Though I do notice that if this is your entire code, you don't need to use SteamCommunity or web sessions at all. You aren't making any authenticated requests to steamcommunity.com. Could you add this and see what happens before you get prompted for a code? client.on('debug', (msg) => console.log('[debug] ' + msg));
  14. Promise limitations prevent any arguments besides err from being sent to the callback if an error occurred. If you update to v4.4.3, you'll be able to access this data via the Error object instead, using err.purchaseResultDetails and err.packageList.
  15. You should never call emit on a SteamUser instance yourself. Events are emitted by the module.
  16. That code looks correct. You're obviously doing something else wrong, but I can't tell you what without seeing more code (and a full stack trace).
  17. No, there is no way to suppress those messages from coming in when you receive a trade offer. Eventually I'm sure I'll add a method you can use to mark those as read, but for the time being there's no way to clear them in a bot.
  18. You aren't logged into Steam Community until webSession fires.
  19. I'm not sure whether this would cause the issue you're describing or not, but is your Steam profile set up yet? I only ask due to the name of your function.
  20. Your call to chatMessage is correct (although deprecated; you should check out the docs for the new SteamChatRoomClient), but your comparison is wrong. It should be: if (OFFER.state == TradeOfferManager.ETradeOfferState.Accepted)
  21. Yes, steam-client is obsolete with v4. It's built into steam-user now. And user.setHttpProxy isn't going to work. You should use: let user = new SteamUser({ debug: true, singleSentryfile: false, autoRelogin: true, dataDirectory: '/files/clients', httpProxy: proxyUrl });
  22. Don't bother, Valve fixed that exploit long ago.
×
×
  • Create New...