All Activity
- Yesterday
-
Matt joined the community
-
node-globaloffensive, inspectItem - Parsing masked inspect links
Matt replied to stepan__sykora's topic in General
You're correct that it's a hex string of the protobuf object bytes. To parse it, just drop the leading null byte and trailing four checksum bytes, then deserialize to the CEconItemPreviewDataBlock proto object. See here for an example using SteamKit. Note that not all fields are optional still. For example, CSFloat appears to remove the itemid to help preserve a hidden seller's identity. -
guys i'm dump, doctormckay's lib still good, the reason is third application
- Last week
-
Hi! I’m building an automated Steam account manager and need to reliably fetch all possible account status flags for a given account, including: VAC bans (vacBanned) Trade bans and restrictions (tradeBanState, “red warning” banners) Market restrictions (e.g. “not allowed to use the Community Market”, cooldowns, etc.) Limited account status (isLimitedAccount) Any “red warning”/security flags shown on the profile (e.g. “This account has been restricted”, “Community banned”, etc.) I’m currently using node-steamcommunity and my code looks like this const SteamCommunity = require('steamcommunity'); const community = new SteamCommunity(); community.setCookies(cookies); // cookies from steam-session (WebBrowser) community.getSteamUser(steamId, (err, user) => { if (err) { // Often get: 'The specified profile could not be found.' // Sometimes get HTTP 302 redirect to /id/<customURL> // Sometimes get empty user object console.warn('getSteamUser error', err); return; } // Trying to read: // user.vacBanned, user.tradeBanState, user.isLimitedAccount // But sometimes these fields are missing or user is undefined console.log('User status:', { vacBanned: user.vacBanned, tradeBanState: user.tradeBanState, isLimitedAccount: user.isLimitedAccount, // ...other fields? }); }); Questions: What is the most reliable way to get all these status flags for any account (including limited, banned, restricted, etc.)? Is there a better method or recommended workflow to avoid “profile not found” errors and reliably get all status fields? How do I detect “red warning” banners (community ban, trade ban, market ban) if getSteamUser fails or returns incomplete data? Any best practices for cookies/session setup to maximize success rate? Thanks for any advice or code examples! 💙
-
Using IEconItems_440 instead of CEconItems
Dr. McKay replied to Crit12's topic in node-steam-tradeoffer-manager
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. -
Crit12 started following Using IEconItems_440 instead of CEconItems
-
I'm trying to get the defindex and original id of tf2 items in a trade; is there anywhere where I can plug in the use of IEconItems_440 over the use of CEconItems?
-
Crit12 joined the community
-
Best way to check if Client is still logged in ?
mjavad_mllw replied to mjavad_mllw's topic in node-steam-user
thanks sir But I have a problem with my bot. Whenever the bot logs out for any reason, it doesn't log back in because when I send a trade request or check my inventory etc., steamID is empty. any idea on this ? -
Sounds like it.
-
Best way to check if Client is still logged in ?
Dr. McKay replied to mjavad_mllw's topic in node-steam-user
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. -
How to check for steam guard mobile?
Ultra_Om replied to rahimi0151's topic in node-steam-tradeoffer-manager
There are no alternative ways, or at least find out the number of days left? Send offer, extract data, then cancel offer. -
Hi, I'm getting Malformed login response error when calling getWebCookies() and using refreshToken for signing in. I also checked the case when I login using the credentials, 'authenticated' event is fired, but a bit later Malformed login response error is thrown. This all happens when using http proxy(for some of the proxies), is this the issue on proxies side?
- Earlier
-
mjavad_mllw started following Best way to check if Client is still logged in ?
-
what is the best way to check if my client is still logged in ? and if the client logged out how to relogin again ? btw i have sth like this but it does not work: // this should relogin again but wont work client.on("disconnected", (eresult, msg) => { console.log(`Disconnected from Steam: ${msg} (${eresult})`); setTimeout(() => { if (client.steamID === null) { try { client.logOn(logOnOptions); } catch (error) { console.error(error); } } }, 5000); }); // the way i check if client is logged in or not function isLoggedIn() { return client.steamID; }
-
I believe you wouldn't receive that message if there are no other playing sessions.
-
https://github.com/DoctorMcKay/node-steam-user This lib said that after login steam,it will revice an EMsg_ClientPlayingSessionState message. But I use NetHook2 and NetHookAnalyzer2.I did not get this message. I use github.com/csfloat/go-steam lib too.I did not get this message.
-
getExchangeDetails for large amount of trades
G35 replied to G35's topic in node-steam-tradeoffer-manager
understood, thanks. -
getExchangeDetails for large amount of trades
Dr. McKay replied to G35's topic in node-steam-tradeoffer-manager
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. -
jerrey reacted to a post in a topic: ClientMicroTxnAuthRequest (5504)
-
Thank you so much!😭
-
G35 joined the community
-
Hi, I am calling 'getExchangeDetails' on 'receivedOfferChanged' event to log received trade data. This works well in most cases, but if account is receiveing large amount of trades concurrently I start missing data from some trades. I have few questions here: 1. Is my assumption that this is indeed caused my amount of trades received in short period of time correct? I mean does 'getExchangeDetails' interacts with steam and gets ratelimited? 2. If 1. is true, is there build-in mechanism to handle this in trade offer manager, or should I queue received offers and make a sheduler to call 'getExchangeDetails'? Thanks in advance. G
-
Hi If you are using globaloffensive library when you call the _send method, just add the callback (last parameter) and it will add source id automatically _send( CS2Emsgs.k_EMsgGCStorePurchaseFinalize, Protos.CMsgGCStorePurchaseFinalize, { txn_id, }, (appId, msgType) => { if(Language.StorePurchaseFinalizeResponse != msgType) { return; } this.emit("itemsPurchased"); } // fix the issue with source id );
-
i_love_cats reacted to a post in a topic: WebSession not emitted
-
If I have login on Compute A. Then I login again on Compute B.Maybe It will tell me error of LoggedInElsewhere. Can I kick off Compute A login session?
-
Hubert joined the community
-
Hi guys, how can i avoid this? Its literally like this image for my 100 account, then i'm not using community and manager lib until now it already fine but i cannot accept gift. Thank you and have a nice day
-
Askona reacted to a post in a topic: New steam update, revert CS2 trades, state id not changed after reverting the trade
-
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.
-
Fixed issue where corrupt Steam data may crash app Full Changelog: v2.12.1...v2.12.2 View on GitHub
-
jerrey joined the community
-
hi~ did you solve it? I have the same problem, and how to get the source id? 🤔
-
kimyuhuu started following Proxy leak by tradeoffermanager lib
-
proxy_url = http://test:[email protected]:6049 const httpAgent = new HttpProxyAgent(proxy_url); const httpsAgent = new HttpsProxyAgent(proxy_url); const requestInstance = require('request').defaults({ proxy: proxy_url agent:{ http: httpAgent, https: httpsAgent }, timeout:30000 }); let community = new SteamCommunity({ request: requestInstance, httpAgent: httpAgent, httpsAgent: httpsAgent, localAddress: null }); let manager = new TradeOfferManager({ steam: client, community: community, language: 'en', pollInterval: 10000, cancelTime: 300000, pendingCancelTime: 300000, globalAssets: false, savePollData: false, requestOptions: { proxy: proxy_url, agent: { http: httpAgent, https: httpsAgent }, localAddress: null } }); manager.on('newOffer', (offer) => { if (offer.itemsToGive.length === 0 && offer.itemsToReceive.length > 0) { if (offer.state === TradeOfferManager.ETradeOfferState.Active) { offer.accept((err, status) => { if (err) { acceptErrorCount++; } else { acceptSuccessCount++; } }); } else { console.log('skip.'); } } else { console.log('deny.'); offer.decline(); } }); hi, i have proxy and it working well until proxy timeout (die), this connection redirect to my main ip, did i set up wrong or something? thank you and have a nice day