Jump to content
McKay Development

Search the Community

Showing results for tags 'node.js'.

  • 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

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

  1. How do I get the direct detection of the bot when I change the content of the /message file. I do not want to close and open the bot and enter the guard code.
  2. Why doesn't this work? const SteamCommunity = require('steamcommunity'); let community = new SteamCommunity(); community.login({ "accountName": "accountName", "password": "password", }); community.loggedIn(() => { console.log("test"); }); Of course, I use proper login and password. And I get this when I run it:
  3. //Logging ON client.logOn(logOnOptions); client.on('loggedOn', function (details) { if (details.eresult == SteamUser.EResult.OK) { client.getPersonas([client.steamID], function (personas) { console.log("== Logged in =============") console.log('== Name: ' + personas[client.steamID]["player_name"]); console.log('== ID64: ' + client.steamID); console.log("=========================="); console.log(""); }); client.setPersona(5); //"5": "LookingToTrade" -- https://github.com/DoctorMcKay/node-steam-user/blob/master/enums/EPersonaState.js client.gamesPlayed('Accepting Junk and Making Friends'); } else { console.log(details); //Do whatever u want to handle the error... } }); client.on('webSession', (sessionid, cookies) => { manager.setCookies(cookies); community.setCookies(cookies); }); As soon as the bot starts everythings works fine. After some minutes, every time an offer is received by the bot, I get the "Not Logged In" error. I set up a cron (after reading a similar thread on this forum), like this: //Session refresh every 15 minutes cron.schedule('*/15 * * * *', () => { if (client.steamID) { client.webLogOn(); } else { client.logOn(logOnOptions); console.log('Logged in again using cron'); } }); but the "not logged in" error still remains. I also read this topic where Admin says this but at this point I don't understand which session needs to be refreshed and how. Also calling "sessionExpired" isn't helping because whenever an incoming trade offer gives me the error, bot doesn't try anymore to accept it, even after session is refreshed, so I have to restart it. manager.on('newOffer', offer => { if (offer.partner.getSteamID64() === 'my_stemid_64') { offer.accept((err, status) => { if (err) { console.log(err); } else { console.log(`Accepted offer from owner. Status: ${status}.`); } }); } else { if (offer.itemsToGive.length === 0) { offer.accept((err, status) => { if (err) { console.log(err); } else { console.log(`Donation accepted. Status: ${status}.`); } }); } else { offer.decline(err => { if (err) { console.log(err); } else { console.log('Donation declined (wanted our items).'); } }); } } }); Any help would be appreciated.
  4. Error: Not Logged In at SteamCommunity.<anonymous> (/node_modules/steam-tradeoffer-manager/lib/classes/TradeOffer.js:486:25) at Request._callback (/node_modules/steamcommunity/components/http.js:67:15) I'm passing a steam community object into my trade offer manager like so var myCommunity = new SteamCommunity(); var client = new SteamUser(); var offerMananger = new TradeOfferManager({ steam: client, language: "en", cancelTime: 300000, community: myCommunity });Sometimes, for whatever reason, as have been stated before, my community session will timeout, expire or just logout when I attempt a trade. I get the Not logged in error. Is there a simple way to check if myCommunity is logged out once it's attached to an offerManager? Or can I just check the loggedIn method on the myCommunity object? Do I need to reset cookies when I do this? Do I need to recreate my offerManager to set cookies? What's the recommended way?
  5. Hey! I am trying to Import the Sentry File of a Real Steam Client running locally. After googling, i found that it is saved in <steamInstallDir>/Steam/ssfn<numbers>. Problem being, i seem to have two of these files locally, both following the name format, just with different Numbers. The content of the files is different, however one of the two is marked as NTFS Hidden. How do i know which of the two files are used by my real Steam client? (Is there any meaning to the Numbers?) I have checked with a friend, they also have the same situation: 2 files, different names, different content, one hidden. Thanks for all the time you spend on this stuff! ~ ty
  6. Hello, I am getting a UnhandledPromiseRejectionWarning: Error: AccountNotFound when trying to Authorize the local SentryFile to get a deviceToken. My code is currently as barebones as it could be. const SteamUser = require("steam-user"); var c = new SteamUser(); c.logOn({ "accountName": "...", "password": "..." }) c.on("loggedOn", (det)=>{ c.setPersona(SteamUser.EPersonaState.Online); c.authorizeLocalSharingDevice("Test-PC").then(res=>{ console.log("token: "+res.deviceToken) }) }) The Online Status successfully updates, however i get a promise Failiure on the authorizeLocalSharingDevice. What am i doing wrong? ~ ty
  7. Hey I wanted to create a bot that farms hours on a few games and if I (player) start let's say CS:GO. The bot will give an error: Logged into Steam Boosting our hours on chosen games ... Set state to Snooze // starting CS:GO here { Error: LoggedInElsewhere at SteamUser._handleLogOff (C:\Users\Admin\node_modules\steam-user\components\logon.js:400:11) at SteamUser._handlers.(anonymous function) (C:\Users\Admin\node_modules\steam-user\components\logon.js:380:7) at SteamUser._handleMessage (C:\Users\Admin\node_modules\steam-user\components\messages.js:235:30) at emitThree (events.js:136:13) at CMClient.emit (events.js:217:7) at CMClient._netMsgReceived (C:\Users\Admin\node_modules\steam-user\node_modules\steam-client\lib\cm_client.js:323:8) at CMClient.handlers.(anonymous function) (C:\Users\Admin\node_modules\steam-user\node_modules\steam-client\lib\cm_client.js:603:8) at CMClient._netMsgReceived (C:\Users\Admin\node_modules\steam-user\node_modules\steam-client\lib\cm_client.js:305:24) at emitOne (events.js:116:13) at TCPConnection.emit (events.js:211:7) eresult: 6 } This is the bot's code: var colors = require("colors"); const SteamUser = require("steam-user"); const client = new SteamUser(); const logOnOptions = { accountName: "u", password: "p", }; autoRelogin = true; //correct? client.logOn(logOnOptions); client.on("loggedOn", () => { console.log("Logged into Steam".green); client.gamesPlayed(["Boosting Hours", 20, 70, 50, 9480, 300, 40, 130, 10, 730]); console.log("Boosting our hours on chosen games ...".yellow); client.setPersona(SteamUser.Steam.EPersonaState.Snooze); console.log("Set state to Snooze".blue); }); client.on('error', function (err) { console.log(err); client.gamesPlayed(["Boosting Hours", 20, 70, 50, 9480, 300, 40, 130, 10, 730]); }); I'm not sure if I need to use the autoRelogin boolean. I do know I need to handle the error. Not sure how to. So my thought now was to just add the gamesPlayed function again to start those games when the errors appear. But my thought of creating the bot was: // Farm bot 1. Log in on the account 2. Run a check if the account is already playing game(s) (with interval, so it constantly checks) 3. If it is playing a game -> do nothing 4. If it is not playing any games -> start idling a list of games 5. Also handle the LoggedInElsewhere? I'm learning C++ atm. And this is how I start my projects. Writing down what I want my program to do. And turn the text into code. I just can't with JS. Simply because I don't understand the language that well. Trust me, I don't like being spoonfed but I just can't code from scratch with JS. If anyone is planning to spoonfeed me. Do know I'd love some explaination. Otherwise I cannot learn from it. Best regards Ruben.
  8. Is there some clever way to get a list of packageid's, that contain a certain appid, without building an entire database of existing packages? I don't want to scrape steamdb.info either.
  9. Hello i have authorized node js bot and Steam Web API of my 2nd account, i'm looking for the way to send trade offers to this 2nd account without it's token is there any possible way to do this? I was thinking about sending friend request first and tried this POST request to Steam Web Api but it's seem not working https://api.steampowered.com/IPlayerService/AddFriend/v1/?key=2ND_ACC_API&steamid=BOT_ID
  10. Guest

    Can't Leave Comment

    Hello. When i Tried to leave comment i get error Error: The settings on this account do not allow you to add comments. My code let SteamUser = require("steam-user"), SteamCommunity = require("steamcommunity"), SteamID = require('steamid'), CONFIG = require('./config.js'), SteamTotp = require("steam-totp") let client = new SteamUser(); let community = new SteamCommunity(); let banshee = '765611979625767xxx'; let steamID = new SteamID(banshee); community.getSteamUser(steamID, function(ERR, USER) { if (ERR) { console.log("## An error occurred while getting user profile: " + ERR); } else { USER.comment('CONFIG.COMMENTAFTERTRADE', (ERR) => { if (ERR) { console.log("## An error occurred while commenting on user profile: " + ERR); } else { console.log('comment was posted') } }); } })
  11. How to comment on the drawing showcase and screenshot and how do I like it?
  12. Hello! I've been trying to log in with loginkey but it always says InvalidPassword. My code works like this: 1. Download steamusername and loginkey from database. 2. Check if they are not null. 3. a) If they are not null, log in with them. 3. b) If they are null, ask for password. Every time the 'loginkey' event gets called, I save the loginkey to the database. Logging in with the password works, but when I try to log in with the loginkey from the database, I get the error InvalidPassword. What am I doing wrong? My code: /* login without loginkey */ client.logOn({ accountName: steamusername, password: steampassword, machineName: "***", rememberPassword: true }); /* saving the loginkey */ client.on("loginKey", key => { saveLoginKey(username, steamusername, key); }); /* login with loginkey */ client.logOn({ accountName: steamusername, loginKey: loginkey, rememberPassword: true, machineName: "***" }); The loginkey variable is set, I checked it. (I'm sorry for any misspelled words or grammar mistakes, english is not my native language) NodeJS version 12.9.1 npm version 6.12.1 steam-user version 4.12.4
  13. Hello, when someone sends a trading offer to the boat. Unknown Command sends message How can I exclude this
  14. i have windows and i test it and runs all ok but when i want to use centos 7 to run it on my server it does not work!! steam-user client.logOn does not give me error and do nothing it is so weird i have tried it into 4 different linux servers still the same what do you think the problem is? my code : const SteamUser = require('steam-user'); var client = new SteamUser(); client.logOn({ accountName: 'test', password: 'tes',}) client.on('loggedOn', () => { console.log('logged on'); }); client.on('error', (err) => { console.log(err); });
  15. I have several questions that I have been looking for an answer for a long time. Some of my questions are more for a node js, sorry for that. And thanks in advance for your help! 1: If I need to decline/delete incoming offers that were not accepted in 10 minutes, would this be the right? Maybe there are any cases, why can it be a bad option? manager.on("newOffer", (OFFER) => { setTimeout(function() { OFFER.decline(); }, $MINUTE * 10); 2: I have to save completed trades. If not - sometimes some of them work 2-3 times. Why? // "pollInterval": "10000", // "dataDirectory": "./pool_data", // "savePollData": true var completedTrades = []; manager.on("sentOfferChanged", (OFFER) => { if (completedTrades.indexOf(OFFER.id) >= 0) { console.log("aborted"); return; } if (OFFER.state == 3) { completedTrades.push(OFFER.id); console.log("completed"); //Log: completed aborted aborted 3: In some trading offers I add data: trade.data("somedataname", myvar.toString()); After i check it this way (Is this correct or can it be different?): manager.on("sentOfferChanged", (OFFER) => { if (!!OFFER.data("somedataname")) { console.log("trade with somedataname"); 4: If I want to make a counter offer to a user (not on the list of friends) - will it work as I am create a new offer? manager.on("newOffer", (OFFER) => { let trade = OFFER.counter(); trade.getUserDetails((ERR, BotDetails, UserDetails) => { OFFER.itemsToGive = []; OFFER.itemsToReceive = []; //... add items trade.send((ERR) => { 5: How can I use more than 1 appid / txid? manager.getUserInventoryContents(SENDER, 753, 6, true, (ERR, USERINVENTORY) => { Here I will get only Steam (753-6); What should I do to add for example TF items (440-2)
  16. Hi, when i using method community.editProfile - it remove my background if it exist
  17. Is there a way to fetch certain data like the Steam Profile Name and Steam Avatar, if the Profile is Public, Steam Level, Ability to Invite Friends etc. and fetch it from Steam via Steam-User or is that something I would have to do without Steam-User via Steam Web API?
  18. Guest

    Friend and Blocked

    Hi, How can I find out that a friend has blocked me? client.myFriends[user_id] = 3 , but on account who blocked this value = 6
  19. Sometimes pollFailure event is emitted and gives the error below. { Error: socket hang up at createHangUpError (_http_client.js:323:15) at TLSSocket.socketOnEnd (_http_client.js:426:23) at TLSSocket.emit (events.js:203:15) at endReadableNT (_stream_readable.js:1145:12) at process._tickCallback (internal/process/next_tick.js:63:19) code: 'ECONNRESET' } My script is running on AWS. So there shouldn't be any issues with the network.
  20. Hey, i read all post at this forum about this issue. https://dev.doctormckay.com/topic/2128-error-when-using-loginkey/?hl=loginkey https://dev.doctormckay.com/topic/1896-loginkey-throw-error-invalidpassword/?hl=loginkey https://dev.doctormckay.com/topic/2120-using-loginkey-gives-error-invalidpassword/?hl=loginkey https://dev.doctormckay.com/topic/2264-what-data-must-be-stored-for-reauthorization/?hl=loginkey&do=findComment&comment=7443 I can't login with loginKey on my VDS based on Linux. I am updating loginKey every time when receive new one from Steam. All working fine at my local Windows machine. So i tryed use Windows VDS - all working fine. Is there any bug on Linux? Can that be that when i use steam-user at linux it won't use sentry files. That can explain why loginKey don't work. I found folder where sentryes stored at Linux and tryed to manualy load them with setSentry - won't help. Any ideas how understand where problem is? Ye, i know, it's Steam and we can't know for 100% how it works under the hood. But it bothers me that the same code behaves differently on different OS, so it's probably some bug inside steam-user. P.S. Sorry for my English. English is not my native language
  21. Hi guys! I have just started using the npm module steam-user and noticed that a simply `import steamUser from 'steam-user';` would take about 3GB of memory. Is that totally normal? I should note that I am using steam-user in a svelte project.
  22. Hello, I'm using this code to keep me logged (to avoid session expired) setInterval(function() { if (client.steamID) { client.webLogOn(); } else { client.logOn(account); } }, 1800000); but sometimes I'm getting crash with LogonSessionReplaced, should I use relog() instead?
  23. Hello, i have a problem with multiple TradeOfferManagers, in this example the first console.log returns a name for a different account then the second console.log. How is this possible? let offer = managers[x].createOffer(new SteamID(steamId), token); offer.getUserDetails((err, me, them) => { console.log(me.personaName); console.log(managers[x].steamID.getSteamID64());
  24. Hello, I apologize for the longwinded questions, I'm new to Steam trading and would like to learn more about building trade bots. Using multiple trade bots at once is a pretty common usage scenario of node-steam-user and node-steam-trade-offer-manager but I haven't found many guides or examples that go into finer detail on this. I have a fuzzy idea of how to do it but I would like some validation/clarification to see if I'm heading in the right direction. If I have many available bot accounts, say 20 bots, and I start them all up at once, I'm sure I would run into steam's rate limiting per IP address, as well as getting a LogonSessionReplaced error if my bots were to re-login on the same IP. I see that there is a loginID option for the steam-user logOn method, I'm assuming I can use a proxy pool in tandem with this option to mitigate these issues? Is logging in with different IP addresses enough or do I need to use a loginKey? I see that when logging in and using the rememberPassword option, it triggers a loginKey event, which I can store and use for subsequent logins. Does using a loginKey bypass the LogonSessionReplaced error as well? I don't quite understand the benefit of using a loginKey instead of username/password. Second question - Can I send trades from the same bots that are running in separate processes? For example, maybe on app startup, I can log into all my bots at once and have them ready to initiate trades. I would also have a worker process running in the background that would start up all of the same bots to send a trade at a later time, let's say when an item on trade hold becomes available. Would these bots log off the other bots from app startup? This is probably related to my first question about using a loginKey or loginID. Last question - How can I check if a bot is already logged on? Instead of starting up all bots on app startup, I could just login to each bot separately when a trade is requested for an item in their inventory. I would want to check if the bot is logged in already before calling the logOn method again. Thank you for your time and for your great work on these libraries!
×
×
  • Create New...