Jump to content
McKay Development

All Activity

This stream auto-updates

  1. Last week
  2. @NickersI found something similar to sda, but which works through node.js, the generation of confirmation codes occurs through steam-totp, I added an account to check if the confirmation works there and the confirmation worked, maybe you can take a look you'll find something https://github.com/ost056/SteamAuthTool/blob/main/components/master/steam/confirmation.js
  3. You'd need to figure out what requests the help site (help.steampowered.com) makes to change your email, and make those requests yourself using cookies obtained from steam-user or steam-session.
  4. Im thinking extracting the cookie using the webSession from steam-user, and then using this cookie to login into steam using axios or got-scraping. After this how to click on the link? Or is there a better/easier way?
  5. I first noticed back in January 30, when I tried to debug my project, but it could've started way earlier, so I don't know. I heard we had a problem with network certificates lately, but I don't know. SDA sends same types of requests and it seems to work fine there, but something might be different. Maybe totp somehow uses System Locales which results in error. Might be something else entirely.
  6. Its my first time doing coding at this level of difficulty and sorry in advance if its not the right place to ask. found this old post about a person asking the same question: https://dev.doctormckay.com/topic/2353-change-pwemail-of-account/#comment-7670. The Administrator responded that this is no longer possible and it must be done via the "help site"? What does this mean? Ive been wondering if I should try with cheerio to try and change it, but I wanted to ask you if there is a better way? Thank you
  7. @NickersAny ideas why this works on a server in Europe and doesn’t work on a personal PC in Russia? I’ve just tried everything.And when did this error start appearing?
  8. Despite the steamcommunity v3.48.1 fix, I'm still facing the issue. Assigning cookies generated from steamcommunity login to steamstore fails. Dependencies: "steamcommunity": "^3.48.2", "steamstore": "^2.3.0" Code: community.login(OPTIONS, (err, sessionID, cookies) => { if (err) { console.log(`Login error : ${err.message}`); } store.setCookies(cookies); }); Log: Am I doing something wrong?
  9. I started getting same error when using "acceptAllConfirmations()" for few week now. I'm from Russia as well so it might be something with DNS/network/certificates and such. Here is full error: Common fixes to this error are: Wrong time / time zone Switching to English language None of that tracks or helped. Error only occuring on my personal PC (same code works on the linux server in Europe with same TZ settings) Also SDA still works so it must be doing something differently.
  10. from maFile I took the key after "identity_secret":
  11. identitySecret in this format JGhCjFThpoOCuCH4...=,time in this format is 1708401621,data about identitySecret is taken from maFille and they are correct, I checked, since trades are successfully confirmed through SDA,confKey in this format DAgRR7dVxGjC9axkJaf3M...=,offerid also match, but I don't understand why this error occurs Error: Invalid authenticator here is part of the code that confirms trades and calls this function async function confirmTradeOffer(community, offer, identitySecret) { const time = SteamTotp.time(); const confKey = SteamTotp.getConfirmationKey(identitySecret, time, 'allow'); console.log(`Подтверждение трейда с следующими данными:`); console.log(`- ID трейда: ${offer.id}`); console.log(`- Время (Unix Timestamp): ${time}`); console.log(`- Ключ подтверждения: ${confKey}`); console.log(`- IdentitySecret: ${identitySecret}`); return new Promise((resolve, reject) => { community.acceptConfirmationForObject(offer.id, confKey, (err) => { if (err) { console.error(`Ошибка подтверждения трейда ID ${offer.id}: ${err}`); reject(`Ошибка подтверждения трейда: ${err}`); } else { console.log(`Трейд ID ${offer.id} успешно подтвержден.`); resolve('Трейд подтвержден успешно.'); } }); }); } const confirmResult = await confirmTradeOffer(community, offer, account.identitySecret); console.log(confirmResult); break;
  12. Alright, thanks tho. I’m subbed to the mail list so i’ll see if you maybe change your mind
  13. someone know to to implement in a node.js auto comment for friends? i tried to do this for my trashbot that have to comment the friend after a successful trade but no comment, `Error posting comment: Error: The settings on this account do not allow you to add comments.`.
  14. Would it be possible to claim weekly free rewards, so drops with node globaloffensive in the future?
  15. You'll be fine if you store this in your database.
  16. Earlier
  17. I am developing a backend for my own small project. I am facing a problem, when choosing a bot for making a trade I need to return one with less than 30 active trades total and less than 5 active trades with a specific user. Its ok that for each trade to ask info from steam about current trades of bot or should I keep this data stored in memory? . Its also an option to look in db but I think it will overload it.
  18. That login route is outdated and doesn't work anymore. Logins are handled by steam-session these days.
  19. Greetings, everyone. I have a task to realize login to steam via http requests. There are few options in public search, one of the popular ones is: 1. GET request 'https://steamcommunity.com/login/getrsakey/?username=yourusername' 2. Then get publickey_mod and timestamp 3. Do encryption using RSA. This is the most interesting part, as I have tried many encryption options. This is what my last encryption code looked like: const NodeRSA = require('node-rsa'); let password = "mypass"; const result = { publickey_mod: 'publickey_mod', publickey_exp: "010001", }; const key = new NodeRSA(); key.importKey({ n: Buffer.from(result.publickey_mod, 'hex'), e: parseInt(result.publickey_exp, 16), }, 'components-public'); const encryptedPassword = key.encrypt(password, 'base64'); Because using many encryption options I always get the error that 'Password or login is incorrect', reading 'node-steamcommunity' I didn't find any encryption there. Maybe someone has an encryption option, or another way to do authorization on http requests. I would be very grateful.
  20. The function family of getWebApiKey and createWebApiKey provided by note-steamcommunity seems to be good enough to me. Thanks for pointing that one out.
  21. Hello everyone, i just make my steam trashbot but I try to make it more different from the others bots. I try to post a comment on the user profile that give me something (items that are not necessary) from his inventory. The problem is that the bot receives an error when it tries to post. This is the code: // main.js const SteamUser = require('steam-user'); const TradeOfferManager = require('steam-tradeoffer-manager'); const initFriendsManager = require('./friendsManager'); const acceptTradeOffer = require('./tradeManager'); // Import the acceptTradeOffer function const comeOnline = require('./comeOnline'); // Import the comeOnline module const SteamTOTP = require('steam-totp'); // Import SteamTOTP module for generating two-factor authentication code const SteamCommunity = require('steamcommunity'); // Import SteamCommunity module const client = new SteamUser(); const manager = new TradeOfferManager({ steam: client, domain: 'example.com', language: 'en', pollInterval: 10000, apiKey: '' // your API key }); const logOnOptions = { accountName: '', // login credentials password: '', // your password twoFactorCode: SteamTOTP.generateAuthCode('') // Add your shared secret here }; const community = new SteamCommunity(); // Initialize the SteamCommunity object client.logOn(logOnOptions); client.on('loggedOn', () => { console.log('Logged into Steam.'); client.setPersona(SteamUser.EPersonaState.Online); client.gamesPlayed([]); }); client.on('webSession', (sessionID, cookies) => { manager.setCookies(cookies, (err) => { if (err) { console.error(err); process.exit(1); return; } console.log('TradeOfferManager ready.'); }); initFriendsManager(client); }); // Add the event handler for new offers here manager.on('newOffer', (offer) => { console.log('New trade offer received.'); acceptTradeOffer(manager, client, offer, community); // Pass client and community objects }); // Add the following lines to integrate the deleteAllFriends function const ownerSteamID = ''; // Replace with the owner's SteamID comeOnline.deleteAllFriends(client, ownerSteamID); and this is the tradeManager.js //tradeManager.js function acceptTradeOffer(manager, client, offer, community) { console.log('Received trade offer from SteamID:', offer.partner.getSteamID64()); if (offer.itemsToReceive.length > 0 && offer.itemsToGive.length === 0) { setTimeout(() => { offer.accept((err, status) => { if (err) { console.error('Error accepting offer:', err); } else { console.log('Trade offer with items to receive (no items to give) accepted:', status); const partnerId = offer.partner.getSteamID64(); console.log('Partner ID:', partnerId); if (client.myFriends && client.myFriends[partnerId]) { console.log('Partner is a friend.'); postComment(community, partnerId); } else { console.log('Partner is not a friend.'); } } }); }, 5000); } else if (offer.itemsToGive.length > 0) { setTimeout(() => { offer.decline((err, status) => { if (err) { console.error('Error declining offer:', err); } else { console.log('Trade offer with items to give declined.'); } }); }, 5000); } } function postComment(community, partnerId) { console.log('Attempting to post comment for partner:', partnerId); // Simulate a delay before posting a comment setTimeout(() => { community.postUserComment(partnerId, "Thanks for the gift!", (err) => { if (err) { console.error('Error posting comment:', err); // Retry posting comment or handle the error accordingly } else { console.log('Comment posted successfully.'); } }); }, 60000); // Wait for 1 minute before posting a comment } module.exports = acceptTradeOffer; The bot check if the person that send the gift is in their friend list, if it is the bot post a comment on his profile. Console log: Logged into Steam. TradeOfferManager ready. New trade offer received. Received trade offer from SteamID: 76561198023414915 Trade offer with items to receive (no items to give) accepted: accepted Partner ID: 76561198812293087 Partner is a friend. Attempting to post comment for partner: 76561198023414915 after the 1 min delay i receive this: Error posting comment: Error: The settings on this account do not allow you to add comments. I can post comments manually with the bot but not with the script. Thank you. every solution is welcome.
  22. If there's a request outstanding when you call logOff(), it has to wait for the request to timeout before the Node.js process can exit. There's a bunch of requests that get made internally when you first log on; you're better off waiting a second or so after loggedOn is emitted before calling logOff(). In the future I'll try to add a mechanism to cancel outstanding requests when we log off, but it's not quite as simple as it first sounds.
  23. After all the code was executed, I noticed that the command line was being entered with a delay, I decided to measure the time and it turned out that Node.js terminates only after a fixed time of 10 seconds has elapsed
  24. console output: Login: starlivovsky5 completed successfully Total accounts connected: 1 from 1 All accounts are successfully connected. Process Node.js ended with code 0 Function execution time: 10.006s PS C:\Users\Kast0l\Desktop\tetst script> Please help me solve this problem or at least understand what it is const SteamUser = require("steam-user"); const SteamTotp = require("steam-totp"); const accounts = require("./accounts.js"); let totalConnectedAccounts = 0; const logInAccounts = async () => { for (let account of accounts) { const client = new SteamUser const logInOptions = { accountName: account.accountName, password: account.password, twoFactorCode: SteamTotp.generateAuthCode(account.sharedSecret) }; try { await new Promise((resolve, reject) => { client.logOn(logInOptions); client.once("loggedOn", () => { totalConnectedAccounts++; console.log(`Login: ${account.accountName} completed successfully`); resolve(); }); client.once("error", (err) => { console.log(`Ошибка при входе для аккаунта ${account.accountName}: ${err}`); reject(err); }); }); } finally { await client.logOff(); } } console.log(`\nTotal accounts connected: ${totalConnectedAccounts} from ${accounts.length}`); console.log("All accounts are successfully connected."); console.time("Function execution time"); process.on('exit', (code) => { console.log(`Process Node.js ended with code ${code}`); console.timeEnd("Function execution time"); }); }; logInAccounts()
  1. Load more activity
  • Create New...