Jump to content
McKay Development

Search the Community

Showing results for tags 'confirmation'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • News & Announcements
    • Releases & Updates
  • Help & Support
    • General
    • Guides
    • node-steam-user
    • node-steamcommunity
    • node-steam-tradeoffer-manager
    • node-steam-session

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website URL


Skype


Location


Interests

Found 3 results

  1. igor

    buy confirmation

    Hello everyone! Due to recent update I tried implementing buy order confirmation and I failed (partly)๐Ÿ˜ž. I came here to ask for help because It seems I can't understand why my code runs into the problems. here are the pieces of my code: function getCookiesHeaders(contentLength, cookiesStr, itemName, game) { return { Accept: "*/*", "Accept-Encoding": "gzip, deflate, br, zstd", "Accept-Language": "en-US,en;q=0.9", Connection: "keep-alive", "Content-Length": contentLength, "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8", Cookie: cookiesStr, Host: "steamcommunity.com", Origin: "https://steamcommunity.com", Referer: `https://steamcommunity.com/market/listings/${ GAME_IDENTIFIERS[game] }/${encodeURI(itemName)}`, "Sec-Fetch-Dest": "empty", "Sec-Fetch-Mode": "cors", "Sec-Fetch-Site": "same-origin", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36", "sec-ch-ua": '"Google Chrome";v="138", "Not)A.Brand";v="8", "Chromium";v="138"', "sec-ch-ua-mobile": "?0", "sec-ch-ua-platform": '"Windows"', }; } function getParamsWithFee(cookies, priceInfo) { const { converted_price: subtotal, converted_fee: fee } = priceInfo; return { sessionid: cookies.sessionid, currency: 18, subtotal, fee, total: fee + subtotal, quantity: 1, billing_state: "", save_my_address: 0, confirmation: 0 }; } function generateListingIdLink(listingId) { return "https://steamcommunity.com/market/buylisting/" + listingId; } async function buyItem(itemName, priceDetails, listingId, game, buyingCookies) { // all these params are fine const confData = { identitySecret: "myIdentitySecretFromMyFile", steamId: "mySteamIdFromMyFile", cookies: buyingCookies }; const { cookies, cookiesStr } = getStrObjCookies(buyingCookies); const params = getParamsWithFee(cookies, priceDetails); const { bodyParams, contentLength } = getSearchParamsData(params); const headers = getCookiesHeaders(contentLength, cookiesStr, itemName, game); const sendBuyReq = async () => { try{ const response = await axios.post(generateListingIdLink(listingId), bodyParams, { headers, validateStatus: (statusCode) => { return statusCode <= 400 || statusCode === 406}}) // validateStatus needs to be done because axios thinks that 406 statusCode here is error and it falls into catch scope console.log('Response status:', response.status); return response; }catch(err){ console.log(err.message, "--errorMsg--"); throw err; } } try { const { data } = await sendBuyReq(); // that's fine it works great. From SDA it's clearly visible that the buy order is set. // I tried here await waitTime(2) so my buy information could get in time to the servers. await confirmBuyListing(confData); // The problem might be right here but it's unlikely because by itself it works await waitTime(1); // I tried increasing time from 1 sec to 2 secs. bodyParams.set("confirmation", data.confirmation?.confirmation_id); // updataing params with confirmationId to send new buyLink() const { data: finalizedData } = await sendBuyReq(); // THE MAIN PROBLEM IS HERE if (finalizedData.success === 22) console.log(finalizedData); // testing } catch (err) { console.log(err); } } I tried checking for confirmation_id and it's fine. Left that just as bodyParams.set("confirmation", data.confirmation?.confirmation_id); I think that line with "// THE MAIN PROBLEM IS HERE" is main part because when I make request it shows "status:502" but the original repetitave steam request shows "status:406" And this is the part where I can't understand why I get 502 code in my code. If needed I will add confirmBuyListing function for clarification. Shortly I tested the function with browser manual buying and it confirmed and I bought the item Despite what I wrote above my second thought would be, the problem lies within both confirmation function and buyLink function. I've seen 3 diffrent projects that this confirmation logic was implemented in: C#, JS, PYTHON and I chose python approach because pythonists have already confirmed that they solved this confirmation problem so I tried to follow their solution (this solution could be found in steamPy issues on git). I don't know what is the cause of that status 502. I did almost everything I prayed and cursed and still can't find the cause of that. I am not giving up on this but the only thing I am looking here is help๐Ÿ˜ฐ๐Ÿ˜ฐ *Possible solution is to run python solution directly in my js file from pythonists (the last thing I wanna do).
  2. I am making a code that confirms the change of email on accounts. Now I am using SteamCommunity.startConfirmationChecker, it works but I need to optimize the code and not use the checker and confirm only once. I know that the checker is already out of date, but unfortunately I could not find an alternative myself in order to perform only one confirmation. Any help would be welcome.
  3. Hello, could you look here? It's seems to be right, but it doesn't conferm trades automaticaly var SteamUser = require('steam-user'); var SteamCommunity = require('steamcommunity'); var SteamTotp = require('steam-totp'); var TradeOfferManager = require('../lib/index.js'); // use require('steam-tradeoffer-manager') in production var fs = require('fs'); var client = new SteamUser(); var offers = new TradeOfferManager({ "steam": client, // Polling every 30 seconds is fine since we get notifications from Steam "domain": "example.com", // Our domain is example.com "language": "en" // We want English item descriptions }); var community = new SteamCommunity(); var logOnOptions = { "accountName": "*****", "password": "***", "twoFactorCode": SteamTotp.getAuthCode("****") }; if (fs.existsSync('polldata.json')) { offers.pollData = JSON.parse(fs.readFileSync('polldata.json')); } client.logOn(logOnOptions); client.on('loggedOn', function() { console.log("Logged into Steam"); }); client.on('webSession', function(sessionID, cookies) { offers.setCookies(cookies, function(err) { if (err) { console.log(err); process.exit(1); // Fatal error since we couldn't get our API key return; } console.log("Got API key: " + offers.apiKey); }); var trade = offers.createOffer("76561197982243076"); offers.loadInventory(570, 2, true, function(err, myItems) { if(err) { console.log(err); return; } trade.loadPartnerInventory(570, 2, function(err, theirItems) { if(err) { console.log(err); return; } trade.addMyItem(myItems[0]); //trade.addMyItem({"appid": "570","contextid": "2", "assetid": "994253688" }); trade.addTheirItem(theirItems[0]); trade.send(function(err, status) { if (err) { console.log("send" + err); } else { console.log("Offer #" + trade.id + " " + status) } }); }); }); community.setCookies(cookies); community.startConfirmationChecker(30000, "identitySecret"); }); And could you say, how bot can get assetid of item because than I use "id" from http://steamcommunity.com/profiles/76561198106184535/inventory/570/2 it brings error(26)
×
×
  • Create New...