Search the Community
Showing results for tags 'Question'.
-
Hello, It's possible to get profile information from steam-user object? I mean information like that: {"response":{"game_count":1,"games":[{"appid":730,"name":"Counter-Strike: Global Offensive","playtime_forever":224,"img_icon_url":"69f7ebe2735c366c65c0b33dae00e12dc40edbe4","img_logo_url":"d0595ff02f5c79fd19b06f4d6165c3fda2372820","has_community_visible_stats":true}]}} {"response":{"players":{"player":[{ "steamid": "xxxxxxxxxxxx", "communityvisibilitystate": 3, "profilestate": 1, "personaname": "xxxxxxxxxx", "lastlogoff": 1xxxxxxx, "profileurl": "https://steamcommunity.com/profiles/xxxxxxx/", "avatar": "xxxxxxxxxxxxxxxxxx", "avatarmedium": "xx", "avatarfull": "x", "personastate": 0, "primaryclanid": "xxxxxxxxxxxxxxxx", "timecreated": xxxxxxxxxxxxxxxxxx, "personastateflags": 0 } ]}}} It's possible to get it from steamcommunity/steam-user if my profile is private? It's possible to change profile status from private on public - download information about accounts and set accounts as private ? Sorry for stupid questions...
-
Hello, I just started building my steam level up bot and couldn't code it when someone adding him to tell 'Hello, "Persona Name" Thank you for adding me'. this is the code i put it from another question but its sending 'Hello, [steamID] Thank you for adding me'. client.getPersonas([steamID], function(personas) { var persona = personas[steamID.getSteamID64()]; var name = persona ? persona.player_name : ("[" + steamID.getSteamID64() + "]"); }); client.chatMessage(steamID, 'Hi ' + name + ' Thank you for adding me!'); } });
-
Hey, iam work on new functions for my BOT. I am currently working on boosting my main account via chat message to my BOT. The login works fine, but the logout does not work and I can't find the error Here my Code: // Boost Owners Account START else if (MSG.toUpperCase().indexOf("!STARTBOOST") >= 0) { let BoostClient = new SteamUser(), BoostManager = new TradeOfferManager({ "steam": BoostClient, "pollInterval": "10000", "cancelTime": "1800000" // 30m in ms }), BoostCommunity = new SteamCommunity(); let BoostLogOnOptions = { accountName: CONFIG.Boost.USERNAME, password: CONFIG.Boost.PASSWORD, twoFactorCode: SteamTotp.generateAuthCode(CONFIG.Boost.SHAREDSECRET) }; BoostClient.logOn(BoostLogOnOptions); BoostClient.on("loggedOn", function() { BoostClient.getPersonas([BoostClient.steamID], (personas) => { sleep(500); console.log("[Boost Steam Account] - Login successfully!"); client.chatMessage(SENDER, "[Boost Steam Account] - Login successfully!"); BoostClient.setPersona(SteamUser.Steam.EPersonaState.Online); BoostClient.gamesPlayed(730); }); }); BoostClient.on('webSession', (sessionid, cookies) => { BoostManager.setCookies(cookies); BoostCommunity.setCookies(cookies); sleep(2000); console.log("[Boost Steam Account] - Cookies set successfully"); client.chatMessage(SENDER, "[Boost Steam Account] - Cookies set successfully"); }); sleep(7000); console.log("[Boost Steam Account] - Boosting Games Active"); client.chatMessage(SENDER, "[Boost Steam Account] - Start Boosting Games"); } else if (MSG.toUpperCase().indexOf("!STOPBOOST") >= 0) { let BoostClient = new SteamUser(); BoostClient.logOff(); sleep(1000); console.log("[Boost Steam Account] - Stop Boosting Games"); client.chatMessage(SENDER, "[Boost Steam Account] - Stop Boosting Games"); } // Boost Owners Account END It runs not in an error, but i dont log off :-((( I hope someone can help me out... THX
-
I've tried sending all my friends a message. so i made a function for that: function messageAllCommand() { var messageAll = readlineSync.question('Enter message: '); for (var friend in client.myFriends) { console.log(friend); client.chatMessage(friend, messageAll); } }but somewhy, it seems really random who gets the message tho it prints everyone's id it but still don't send everyone the message. here are the ID's: https://pastebin.com/5NGqV340 E.G: it printed the user id: 76561198278317090 but didn't sent the message. and it printed the user id: 76561198173748582 this time it sent the message. I checked and friendsList was emitted before BTW this forum is real good and i get answers.
-
I would like it to accept everyone who added me when the bot wasn't opened. i've tried to do that but i think i didn't get how it works, here's what i tried: client.on('loggedOn', () => { client.setPersona(1); client.getPersonas(client.myFriends); }); client.on('user', function (sid, user) { console.log(sid + " " + user.value); if (user.value == 2) { client.addFriend(sid); client.getChatHistory(sid); } });
-
1. Is there a way to invite people to a steam lobby? (not chat one). the one that emits the 'lobbyInvite' ID event... 2. the 'friendOrChatMessage' ID event emit also when i write a message in a chat. how can i detect whether it is me or not, because the senderID isn't my id even if i write the message (in dm's only). the senderID it is the friend whom i wrote to... (maybe it's a bug so idk). 3. Is there any way to wait for a user input in the console while executing other functions that run on the same js file?
-
How can i loop the sender message, so that i can wait for the response of the option to be selected which was printed by the for loop Kindly View the Attached Images for an clear example: Image of the example client.on("friendMessage", (SENDER, MSG) => { ... ... else{ var countList = 1; for(var i = 0; i < listOfProducts.length; ++i){ if(listOfProducts[i].is_free_license == false){ client.chatMessage(SENDER, countList +". "+listOfProducts[i].option_text) ountList++; } else{ client.chatMessage(SENDER, result[0].name + ", Unfortunately you can not buy this game as a gift.") } } console.log(countList); client.on("friendMessage", (SENDER, MSG) => { countList = countList - 1; if (MSG === 1) { client.chatMessage(" has been added to the Cart.") } }); } ... ... }); Kindly drop your suggestions... and thank you for your precious time.
-
First of all I'm using C#, not node.js; I'm not sure where to ask so I thought I'd try here. I have the 'SkinData.paintwear' value as a uint from CS:GO. I'd like to show it as an accurate 16 decimal place value, but I can't figure out how. So far I have: Convert.ToDouble(BitConverter.ToSingle(BitConverter.GetBytes(client.SkinData.paintwear), 0)) But this returns only 15 decimal places, and the 15th is rounded. How can I get the extra decimal place?
-
Hi, im new to this and i don't know how to check if the key is valid or invalid.. This is the code client.on("friendMessage", function (steamID, message) { if (steamID == AdminID && message.indexOf('!key') == 0) { var GetKey = message.replace('!key ', ''); client.redeemKey(GetKey); client.chatMessage(steamID, "Key activated: " + GetKey); } }); Thanks
-
I do not like to individually copy links of all my replays so I was thinking if it's possible to get the links without even downloading the demo? If it's possible, are you able to show me how?
-
Hi Mod, how can i validate the userinput is a steam store game url and get the details of the games such as name, price of the game. kindly help sir for example, input : https://store.steampowered.com/app/284790/Nightmares_from_the_Deep_2_The_Sirens_Call/ validate it and get app id and all the details of the app id and also if something which does not belong to steam store - an excecption
-
[REDACTED]
-
So just trying to figure out if I'm dumb or if something is up. I'm updating my bot manager and since update doesn't use steam-client anymore I can't use .bind() which was working. See my attached image. Basically client is still returning my own localhost IP. Not the proxy one I'm setting.
- 5 replies
-
- node.js
- node-steam-user
-
(and 2 more)
Tagged with:
-
how to set proxy for this? const SteamCommunity = require('steamcommunity'); let community = new SteamCommunity(); var details = { "accountName": login, "password": pass, "twoFactorCode": 2fa } await (new Promise((resolve, reject) => { community.login(details,function(err,sessionID,cookies,steamguard,oAuthToken){ console.log(err); console.log(sessionID); console.log(cookies); console.log(steamguard); console.log(oAuthToken); resolve(); }); }));
-
Hey, I'm trying to retrieve the items im getting in trades, but problem is I can't do that when my language is removed from my client constructor let client = new SteamUser(), manager = new TradeOfferManager({ "steam": client, "pollInterval": "10000", "cancelTime": "1800000" }), Is there a work around? I had to remove language, and adding it back isn't an option
-
How do you get rich presence data? Through Steam Web Api? Im using GetPlayerSummaries but this endpoint didnt return rich presence data
-
Hello, I want to join to my CS:GO server using Node JS. Is it possible to do it with a game coordinator or something ? Thanks.
-
Apps in getproductinfo is returning null but not when I try to access from package. Is something wrong? Is it because I download the dependencies using npm?
-
Hi. I'm migrating from v3 to v4, and trying to redeem Steam key. I added err argument as described in release notes, and now have the following code: client.redeemKey(key, (err, detail, packages) => { if (err) { console.log('Can not redeem: ' + SteamUser.EPurchaseResultDetail[detail]); return; } console.log('Redeemed!'); }); If key can not be redeemed, in v3 I get detailed reason, for example DoesNotOwnRequiredApp. But in v4 detail argument seems to be undefined. How can I access this info now, after migration to v4? Thanks
-
Question Getting Market Price (Async Function)
Meshi8 posted a topic in node-steam-tradeoffer-manager
Hey, so Im trying to get the market price of an item I receive on a trade. It works, but for some reason the script won't wait for my async function to finish and returns an empty result First I have this function which is triggered when I receive an offer for their items async function ProccessTradeOffer(offer){ let TheirItems = offer.itemsToReceive; const Deposited_Items = await ConvertToKeys2(TheirItems); console.log(Deposited_Items); // this will print null and won't wait for the async to finish } This is the other function im calling async function ConvertToKeys2(Items){ let ValueInKeys = []; // array of objects containing info about the items return new Promise(resolve => { setTimeout(() => { if(Market_Value > -1){ obj = { name: item_name, value: Market_Value } ValueInKeys.push(obj); } }, 2000); }); } } return ValueInKeys; } The problem is that in the main async function it'll not wait for my ConvertToKeys2 function to calculate & add it to array and simply print an empty array. It's an async function so I don't understand why thisis happening.. Thx for your help -
I wrote an application that idles all of my games to x amount of minutes. My problem is that after logging in and passing some appIds to gamesPlayed, I am being prompted to enter my Steam Guard code after a while. I have had it run fine for over 30 minutes sometimes before being asked, but it's usually within 5-10 minutes. I'm listening to both sessionExpired and error, but it doesn't seem to be either of them. The goal is to log on just once and have it idle games until the application is closed. I call webLogOn every 15 minutes, but that doesn't seem to be the problem, as I'm usually prompted before that. I've also tried assigning the loginKey to my log in options after first logging in, which supposedly omits the need for a guard code, but that doesn't work either. Why is this happening? Any help would be greatly appreciated. Code: global._mckay_statistics_opt_out = true; const SteamClient = require('steam-user'); const SteamCommunity = require('steamcommunity'); const community = new SteamCommunity(); const client = new SteamClient(); let apiKey = (''); const minutesToIdle = 180; let gamesToIdle = []; let gamesTimePlayed = []; let appNames; let steamID; const logInOptions = { accountName: '', password: '', logonID: Date.now(), rememberPassword: true }; // Initialize (function () { console.log('Loading game names...') community.request('some api', (error, response, data) => { if (!error && response.statusCode == 200) { appNames = JSON.parse(data).data; client.logOn(logInOptions); } else { console.log('Failed to get game names, listing AppIDs instead.') setTimeout(function() { client.logOn(logInOptions); }, 4000); } }) })() client.on("webSession", (sessionID, cookies) => { console.clear(); console.log("Got web session"); community.setCookies(cookies); getGamesInfo(); }); // Get owned games and time information. function getGamesInfo () { gamesToIdle.length = 0; gamesTimePlayed.length = 0; console.log('\x1b[36m%s\x1b[0m', 'Idle all Steam games'); community.request('https://api.steampowered.com/IPlayerService/GetOwnedGames/v0001/?key=' + apiKey + '&steamid=' + steamID, (error, response, data) => { if (!error && response.statusCode == 200) { const gamesData = JSON.parse(data); const gamesTotal = gamesData.response.game_count; console.log('\x1b[32m%s\x1b[0m', '\nAmount of games: ' + gamesTotal); // Check playtime for past 2 weeks and forever. for (var i = 0; i < gamesTotal; i++) { if (gamesData.response.games[i].playtime_forever < minutesToIdle) { if (gamesData.response.games[i].playtime_2weeks == null || gamesData.response.games[i].playtime_2weeks < minutesToIdle) { gamesToIdle.push(gamesData.response.games[i].appid); gamesTimePlayed.push(getMostTime(gamesData.response.games[i].playtime_forever, gamesData.response.games[i].playtime_2weeks)); } } } if (gamesToIdle.length > 1 ) { console.log('\x1b[32m%s\x1b[0m', 'Games left to idle: ' + gamesToIdle.length); assignAppNames(); } else { console.log('Done idling.') } } else { console.log('Error loading games, retrying in 1 minute...'); setTimeout(function() { client.webLogOn(); }, 600000); } }) } // Returns most time played between last 2 weeks and forever. function getMostTime (a, { if (a > { return a; } else { return b; } } // Assigns app names to display, or appIDs if none found. function assignAppNames () { let gameNames = []; for (var i = 0; i < 29 && i < gamesToIdle.length; i++) { if (appNames != null && appNames.hasOwnProperty(gamesToIdle[i])) { gameNames.push(appNames[gamesToIdle[i]]); } else { gameNames.push(gamesToIdle[i]); } } idleGames(gameNames); } // Idle the games. function idleGames (gameNames) { let idleNow = []; for (var i = 0; i < 29 && idleNow.length < gamesToIdle.length; i++) { idleNow.push(gamesToIdle[i]); } client.gamesPlayed(idleNow); console.log('\x1b[32m%s\x1b[0m', 'Now idling: ' + idleNow.length + '\n') gameNames.forEach(function(element) { console.log(element + '\x1b[33m%s\x1b[0m', ' [' + (gamesTimePlayed[gameNames.indexOf(element)] / 60).toFixed(2) + ']'); }) console.log('\n' + 'Last update: ' + '\x1b[33m%s\x1b[0m', getDateTime()); setTimeout(function() { client.webLogOn(); }, 900000); } community.on("sessionExpired", error => { console.log("Steam web session expired: " + error.message); if (client.steamID) { client.webLogOn(); } else { client.logInOptions.logonID = Date.now(); client.logOn(logInOptions); } }); client.on("error", error => { console.log("An error has occurred: " + error.message); } ); client.on('loggedOn', (details) => { console.log('Logged on Steam.'); client.setPersona(SteamClient.EPersonaState.Invisible); steamID = details.client_supplied_steamid; }); function getDateTime() { var date = new Date(); var hour = date.getHours(); hour = (hour < 10 ? "0" : "") + hour; var min = date.getMinutes(); min = (min < 10 ? "0" : "") + min; var sec = date.getSeconds(); sec = (sec < 10 ? "0" : "") + sec; var year = date.getFullYear(); var month = date.getMonth() + 1; month = (month < 10 ? "0" : "") + month; var day = date.getDate(); day = (day < 10 ? "0" : "") + day; return hour + ":" + min + ":" + sec; }
-
Hello My bot is fetching prices for all its Items in Steam Inventory, which is very small at the moment. Is there any recommendation on how many queries (per second) can it do to get all prices?
-
Hello, i have a question do anyone have idea how to make a diffrent texts after trade is accepted by person who write command i have in mind something line when buyer use !buytf > get offer > accept it > get a message with other bot who sell tf keys etc if he use !buycs he get message with bot who sell csgo keys and thats my question idk who to make it in 100% i know i can make 1 message if (TradeOfferManager.ETradeOfferState[OFFER.state] == 3) { client.chatMessage(OFFER.partner, " Thanks for trading with me!") }