Jump to content
McKay Development

All Activity

This stream auto-updates

  1. Yesterday
  2. Have found it! Somehow, i was not logged in, so steam was sending me the normal Page, as if would browse on the steammarket without session information. Make sure, that everything in the cookies is setup correctly! Edit: Make sure, that you include the params for "webTradeEligibility"!!
  3. I have found out the difference: For example, in my code the page I get has no wallet info: g_rgWalletInfo[\'wallet_currency\'] while the web browser has one: var g_rgWalletInfo = { "wallet_currency": 3, "wallet_country": "NL" ... } Does anyone know why steam thinks I don't have a wallet or why the Request with the SteamUser Cookies is so diffrent?
  4. Oh, you're not logging in? 401 sounds like a private inventory then.
  5. I am currently trying to get some Steam Market listings in my program, but am running into the following problem: When I send the request to this Webpage "https://steamcommunity.com/market/listings/730/AK-47 | Asiimov (Field-Tested)" with this example code: import axios from "axios"; const url = "https://steamcommunity.com/market/listings/730/AK-47%20%7C%20Asiimov%20%28Field-Tested%29"; import axios from "axios"; axios.get(url, { headers }) .then(response => { console.log("Response:", response.data); }) .catch(error => { console.error("Error:", error); }); I get an HTML page from which I can extract the data in a Variable. However, when I use javascript, only general information is displayed, but not the converted price, which is important for me, because otherwise the items are in any currency. In the code I am also logged in with SteamUser in the same account with which I receive the covered price as a variable via the browser. Do you Guys know, what i need to change, to also get the converted Price?
  6. Thank you. How do I refresh the session as I'm not using an account?
  7. I noticed that requests to GetPlayerSummaries have a rather limited rate limit, while GetPlayerBans seems to perform slightly better, but it's still not the officially stated 100k requests per day mentioned in the documentation. Has anyone conducted real tests or knows the actual rate limits? Thanks
  8. No, that just sets a refresh token on the LoginSession instance without doing anything else.
  9. Your Steam session expires after a while and you'll need to login again when you get 401.
  10. Last week
  11. I get this: Error retrieving inventory: Error: HTTP error 401 after a couple of days of running my script. It works for a while then it crashes with that error code. Below is the complete code: Edit: To clarify, it gets the inventory no problem then just stops working. const express = require('express'); const SteamCommunity = require('steamcommunity'); // Assuming you're using steamcommunity package const app = express(); const community = new SteamCommunity(); const axios = require('axios'); // Import axios for making HTTP requests // Define appIDs for different games const APP_IDS = { csgo: 730, // CS:GO rust: 252490 // Rust }; // Route to fetch inventory app.get('/inventory/:steamID/:game', async (req, res) => { const steamID = req.params.steamID; const game = req.params.game.toLowerCase(); // Get the game from the URL parameter const appID = APP_IDS[game]; // Get app ID from the predefined APP_IDS object const contextID = game === 'csgo' ? 2 : 2; // Context ID for CS:GO is 2, Rust is 6 if (!appID) { return res.status(400).json({ error: "Invalid game specified. Please use 'csgo' or 'rust'." }); } try { // Get the inventory for the requested steamID and appID const inventory = await new Promise((resolve, reject) => { community.getUserInventoryContents(steamID, appID, contextID, true, (err, inventory) => { if (err) { return reject(err); // Reject the promise with the error } resolve(inventory); // Resolve the promise with the inventory }); }); // Return the inventory as a JSON response res.json({ steamID, appID, inventory }); } catch (err) { console.error('Error retrieving inventory:', err); res.status(500).json({ error: "Error retrieving inventory", details: err.message }); } }); // Route to fetch sales history from Skinport app.get('/sales-history/:appID/:currency', async (req, res) => { const { appID, currency } = req.params; try { // Make a request to the Skinport API to get sales history const response = await axios.get('https://api.skinport.com/v1/sales/history', { params: { app_id: appID, currency: currency } }); // Return the sales history data from Skinport as JSON res.json(response.data); } catch (err) { console.error('Error retrieving sales history:', err); res.status(500).json({ error: "Error retrieving sales history", details: err.message }); } }); // Start the Express server const PORT = 2001; // Set the port app.listen(PORT, () => { console.log(`Server is running on port ${PORT}`); });
  12. Does this line renews refresh token and makes the set one invalid? session.refreshToken = 'eyAidHlwIjogIkpXVCIsICJhbGciOiAiRWREU0EiIH0.eyJpc3MiOiJ...';
  13. How can I get the assetids or other information of a CS2 Market Listing? The CSFloat extension can do this, but how do they get the information such as the listing id? Thanks for your help!
  14. Hi, just trying to learn how to use steam-user. Can't seem to get it rolling at all. The username/password is 100% correct, I've tried the exact same credentials in browser manually and it works fine. Is it an issue with how I'm handling the email code? Why would it say invalid password if that was the case? Have tried to find basic examples online using email code but can't find anything. EDIT: This is really confusing. I've tried using steam desktop authenticator on the account and it also says password is invalid. I'm literally using the exact same password from clipboard to login to browser and it works a treat. EDIT 2: I have fixed it. My old password "22222222222222222222222222222222222222222hade23s1234@mail.com4445555576$$$$" was being treated as invalid! Not sure why? That's really interesting. Figured I'll leave post up in-case people run into the same issue... const SteamUser = require('steam-user'); const readline = require('readline'); const client = new SteamUser(); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); const logOnOptions = { accountName: 'user', password: 'pass' }; client.logOn(logOnOptions); client.on('steamGuard', function(domain, callback) { if (domain) { console.log(`Steam Guard code needed. Please check your email at ${domain}`); rl.question('Enter your Steam Guard code: ', (code) => { callback(code); }); } else { console.log('Mobile authentication required'); rl.close(); } }); client.on('loggedOn', () => { console.log('Successfully logged into Steam'); rl.close(); }); client.on('error', (err) => { console.error('Error:', err); rl.close(); });
  15. Hello, I plan on using an inspect node with the globaloffensive module. Im wondering if you know any information about how rate limits work?
  16. Sounds like the GC isn't sending that data back anymore.
  17. rankings: [], whatever i do rankings return no values
  18. rofil complet re├ºu: { my_current_event_teams: [], my_current_event_stages: [], rankings: [], account_id: 1053837257, ongoingmatch: null, global_stats: null, penalty_seconds: null, penalty_reason: null, vac_banned: null, ranking: null, commendation: { cmd_friendly: 96, cmd_teaching: 91, cmd_leader: 89 }, medals: null, my_current_event: null, my_current_team: null, survey_vote: null, activity: null, player_level: 25, player_cur_xp: 327680409, player_xp_bonus_flags: null } Donn├®es mises ├á jour: { currentLevel: 25, ranks: { competitive: 0, wingman: 0, dangerzone: 0 }, rank: 0,
  19. Yes, a new secret is generated when a mobile authenticator is set up. When logging in using steam-user, you need to refresh your web session periodically. Call webLogOn() to do so.
  20. I figured that one out, I had to do some digging but it looks like shared secrets are generated when setting up the mobile authenticator. On a separate note, I'm using the script to accept gift offers, which works fine. But, after about 24 hours, it seems like the script is not responding or getting any new steam notifications. I have a feeling that the session isn't kept alive properly. I experienced something similar with SIH on Chrome when I was keeping a Steam tab open for long periods of time. Is there a way of solving this issue besides trying to re-login?
  21. I found the issue. Its in the Content Type, in Python its "application/x-www-form-urlencoded" and in TS its "application/json". To get the same Type in Python you simply need to format the params (body) right. For example: const data = new URLSearchParams(); data.append('sessionid', sessionid); data.append('appid', '730'); data.append('contextid', '2');
  22. Earlier
  23. Either your secret is wrong or your clock is wrong. If getTimeOffset returns 0, that means that your secret is wrong.
  24. When I try to sell an item on the community market with Typescript, I always get a 400 although it totaly works on python. This is my Python code: session = requests.Session() cookies = { "sessionid": "XXX", "steamLoginSecure": "X%7C%XX.X.X", } session.cookies.update(cookies) def sellSteamMarketItem(cookie): url = "https://steamcommunity.com/market/sellitem/" HEADERS = { "Referer": "https://steamcommunity.com/profiles/XXXXXX/inventory" } session_body = session.post("https://steamcommunity.com/market/sellitem/", data={ "sessionid": "XXXXX", "appid": "730", # App-ID (z. B. CS:GO) "contextid": "2", # Kontext-ID (Inventar) "assetid": "XXXX", # Artikel-ID "amount": "1", # Anzahl "price": "149999" }, headers=HEADERS) if session_body.status_code != 200: print("Error, Statuscode: ", session_body.status_code) And this is my Typescript code: create(assetId: number, price: number) { let url: string = "https://steamcommunity.com/market/sellitem/"; const data = { sessionid: this.session.sessionid, appid: "730", contextid: "2", assetid: assetId.toString(), amount: "1", price: price.toString(), }; const referer = "https://steamcommunity.com/profiles/" + this.session.client.steamID.getSteamID64() + "/inventory"; const respone = this.session.steamAPI.httpPost(url, data, referer); console.log(respone); //this.session.community.acceptConfirmationForObject(this.session.identitySecret, respone["listingid"], ) } async sendRequest(url, method, params, referer, repeated=false) { const headers = { "Cookie": this.session.cookies, "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36", "Accept": "application/json, text/plain, */*", "Accept-Encoding": "gzip, deflate, br", "Connection": "keep-alive", "Referer": referer }; this.response = await axios.post(url, params, { headers: headers }); } Here some Sequences from the Axois Request: { "headers": { "Accept": "application/json, text/plain, */*", "Content-Type": "application/json", "Cookie": "sessionid=XX; steamLoginSecure=XX;", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36", "Accept-Encoding": "gzip, deflate, br", "Connection": "keep-alive", "Referer": "https://steamcommunity.com/profiles/XX/inventory", "Content-Length": "123" }, "method": "post", "url": "https://steamcommunity.com/market/sellitem/", "data": { "sessionid": "XX", "appid": "730", "contextid": "2", "assetid": "XX", "amount": "1", "price": "14555" } } { "data": { "success": false, "message": "Session mismatch" }, "status": 400 } Has anyone an idea, why this occurs?
  25. I think you dont need to pass in params, you just need to filter your results (via Appid for Example). I dont know any option to only get specific Games.
  26. Hello. I'm starting to use this project to automate some trading. I'm using this example: https://github.com/DoctorMcKay/node-steam-tradeoffer-manager/blob/master/examples/storehouse-steam.js I added useAccessToken in the construct to retrieve CS2 trade offers. 15 days ago disabled and re-enabled my 2-factor authenticator to retrieve my shared_secret and identity_secret with the examples found in node-steamcommunity. I have my mobile authenticator back on my phone, btw. I'm able to log in and see my incoming offers with the trade offer manager and it works accepting 'gift' offers (empty on my side). However, when confirming the trade offers where I'm giving away an item, I get 'Invalid Authenticator'. I noticed a few things, so maybe something went wrong along the way. When I'm logging in, I need to copy-paste my Steam Guard Code to log in, even though I have the twoFactorCode option there. The generated SteamTotp.getAuthCode(sharedSecret) is different from what I see in my authenticator. I tried playing with time offsets, either by adding 1, -1, or leaving it at 0. SteamTotp.getTimeOffset usually retrieves a 0. I'm on MacOS if that matters.
  27. It doesn't matter as far as I'm aware.
  28. Hello, I was wondering if the steam account should have 5€ wallet registered in order to fetch data ingame
  1. Load more activity
×
×
  • Create New...