-
Posts
3630 -
Joined
-
Last visited
Posts posted by Dr. McKay
-
-
It's not really a memory leak, it's by design. picsCacheAll is especially going to consume lots of memory since it caches all app data it ever comes across. You really shouldn't use picsCacheAll in any app that lives longer than a few hours, and you should avoid using picsCache in general unless you really need it.
For what purpose do you need the pics cache?
-
For your own account that you're logged into, the steam-user accountLimitations and vacBans events are your best bet. For trade bans, I believe you'd need to use the GetPlayerBans WebAPI method.
-
Are you trying to get this data for your own account, or for other users?
-
No, you'd need to use that API yourself. IEconItems_440 is a TF2-specific API and steam-tradeoffer-manager is general for all Steam assets.
-
Sounds like it.
-
Read the docs please. You should not call logOn() inside of the disconnected event as steam-user will handle reconnecting automatically. Checking the steamID property is how you can tell whether you're currently logged in or not.
-
I believe you wouldn't receive that message if there are no other playing sessions.
-
Yes, getExchangeDetails makes a Steam API call (specifically, GetTradeStatus). Generally speaking, anything that has a callback makes a network request.
No, there's no built-in mechanism for handling rate limiting. You'll need to do it yourself.
-
Yes, this is the only way to obtain web cookies if you have a refresh token for EAuthTokenPlatformType.SteamClient. Other platform types can get cookies via steam-session.
-
-
407 means your proxy is rejecting your connection. You're either using the wrong credentials or you have things configured wrong.
-
-
Version?
-
Have you acknowledged the modal about trade protection? You need to do that or call acknowledgeTradeProtection in node-steamcommunity once per account to be able to trade.
-
It's based on whether Steam reports if you have a wallet or not. I believe it becomes true the first time you fund your wallet (and thus set a currency for it).
-
11 hours ago, SPdX said:
I was going through this suggestion you made of using node-steamcommunity but it looks like steam account needs to have a phone number verified before that process can be followed. In steam mobile app, I noticed that you can get steam guard working even without adding any phone number.
I believe same process is followed by Steam Desktop Authenticator as well. Is there some option available in node-steamcommunity as well? Am I missing something here?
I tested adding steam guard without phone number on a new account using ipad, if that matters.Just add 2FA the same way you would if you had a phone number. The code gets sent to your email instead of your phone.
-
-
2 hours ago, 月光下漫步 said:
In
GetTradeStatus
, even if a trade is rolled back midway, it still returns a success status (3). It has been observed that when using thestart_after_time
parameter in theGetTradeHistory
API, there are still cases where the correspondingtradeid
is not returned—approximately 1 out of every 20 trades. Therefore, it’s still necessary to paginate through the results to locate it.A trade that's reversed during Trade Protection will go to status 12 in GetTradeHistory and GetTradeStatus.
-
51 minutes ago, 月光下漫步 said:
-
Retrieve
time_updated
from the Trade Offer API
First, use the Steam Trade Offer API to get the
time_updated
field of the target trade. For example:https://api.steampowered.com/IEconService/GetTradeOffer/v1/?tradeofferid=8301957547&access_token=xx.xx.xx
{ "response": { "offer": { "tradeofferid": "8301957547", "tradeid": "807950398061201297", "time_updated": 1753501576, ... } } }
-
Use
time_updated
as thestart_after_time
parameter to query the Trade History API
Next, pass the
time_updated
value as thestart_after_time
parameter when calling the Trade History API:GET https://api.steampowered.com/IEconService/GetTradeHistory/v1/?max_trades=1&start_after_time=1753501576&access_token=xxx.xxx.xxx
The API response will include the trade information starting from that timestamp:
{ "response": { "more": true, "trades": [ { "tradeid": "807950398061201297", "time_init": 1753501576, ... }, ... ] } }
This method allows you to accurately locate a trade in the trade history using the
time_updated
value, which is useful for tracking or further processing.Or you could just use GetTradeStatus which takes a tradeid as input?
-
-
I don't know; you'll have to look for yourself.
-
You need to update node-steamcommunity and call acknowledgeTradeProtection() on each account.
-
Moved to correct forum - this was in an update to node-steam-session, not node-steam-user.
As far as I've seen, this parameter is present for any GET request issued by the mobile app to the WebAPI. Confirmations don't go through the API so it's not present for those requests.
In practice, the only request that origin=SteamMobile is added to in steam-session is the initial GetPasswordRSAPublicKey request as that's the only GET request issued when using EAuthTokenPlatformType.MobileApp.
-
-
There's no reason it wouldn't, a counter-offer is a new trade offer like any other.
how to update access token for EAuthTokenPlatformType.SteamClient?
in node-steam-user
Posted
You would be expected to see the same access token/steamLoginSecure value if you attempt to refresh within 10 minutes of your last refresh, as steam-session caches it for 10 minutes. After that, you shouldn't see the same response to webLogOn() unless Steam truly returned the same access token again for some reason.