Search the Community
Showing results for tags 'Question'.
-
So, I have two clients setup and running on my file. I want to be able to get the contents of a trade on the first bot, and pass those items along to the second bot so that it can make a trade accordingly.
-
Error: Access Denied when trying to set cookies for two different bots
Guest posted a topic in node-steamcommunity
I am trying to set cookies for two different bots running in the same file, and when I get to the second bot, the script errors: Error: Access Denied at SteamCommunity.<anonymous> (C:\Users\easto\node_modules\steamcommunity\components\webapi.js:15:20) at Request._callback (C:\Users\easto\node_modules\steamcommunity\components\http.js:67:15) at Request.self.callback (C:\Users\easto\node_modules\request\request.js:185:22) at emitTwo (events.js:126:13) at Request.emit (events.js:214:7) at Request.<anonymous> (C:\Users\easto\node_modules\request\request.js:1161:10) at emitOne (events.js:116:13) at Request.emit (events.js:211:7) at Gunzip.<anonymous> (C:\Users\easto\node_modules\request\request.js:1083:12) at Object.onceWrapper (events.js:313:30) The second bot successfully logins, it only errors when setting the cookies for the second bot. -
bots write msg
-
I wanted to be able to make my bot be able to tell the difference between tf2 items and unusual effect, for example I want my steam trading bot to recognize unusual effect like burning flame hong kong cone, disco beat down hong kong cone etc. I don't know whether the code should be in .JSON file or .js. However I lack the knowledge to do so. Help would be appreciated, thanks! Bot.js
-
Hello world :3. I'm trying to catch any posible error output when i login. First i tried with try catch, but it didn't work in any way i tried, then investigating i got to know that it needed to be done by adding an event listener to the error event, but when i try to implement the event listener, i get the error that evenlistener is not a function: client.logOn.addEventListener("error", function(err) { if ( err ) { console.log('Critical error!!!!! '+ err + ' Check data of:'+client.steamID) } }, true); Since i already did this post, i'll add one more question; How can i call the value from a diferent place, for example if i want to show the value of "limited" from client.on('accountLimitations'), and call it in a fs.writefile that i have inside client.on('loggedOn', i have to do it by making a global.limited, or how can i?, the other way i tried was client.accountLimitations.limited, but it always gets a undefined or null result. Sorry for the bother and noob questions :v Thanks for taking the time to read my problem. Have a great day.
-
in function process(Offer) { I wanted to add stock limit and current stock to my steam trading bot but I lack the knowledge. Simply I want my bot to be able to stop accept trade offer after current stock exceed stock limit, how do I do so.Bot.txt Help would be gladly appreciated, thank you.
-
Hi, well..Good day, i'm Rami and i'm using; Nodejs: 10.16.3 steam-totp: 2.1.1 steam-tradeoffer-manager: 2.10.1 steam-user: 4.12.4 steamcommunity: 3.41.1 The thing is, i get error 429, A LOT. I know that 429 is what you get when you pass the ratelimit, and send too many request, BUT, hear me please. [01:34:33] - [Bot] Error polling for trade offers: Error: HTTP error 429 [01:34:43] - [Bot] Error polling for trade offers: Error: HTTP error 429 [01:35:15] - [Bot] Error polling for trade offers: Error: HTTP error 429 [01:35:25] - [Bot] Error polling for trade offers: Error: HTTP error 429 [01:35:36] - [Bot] Error polling for trade offers: Error: HTTP error 429 [01:35:46] - [Bot] Error polling for trade offers: Error: HTTP error 429 [01:36:08] - [Bot] Error polling for trade offers: Error: HTTP error 429 [01:38:03] - [Bot] Error polling for trade offers: Error: HTTP error 429 [01:38:13] - [Bot] Error polling for trade offers: Error: HTTP error 429 [01:39:17] - [Bot] Error polling for trade offers: Error: HTTP error 429 And goes on... i just cut it there cuz i was afraid of some type of vac xD. const SteamUser = require('steam-user'); const SteamTotp = require('steam-totp'); const SteamCommunity = require('steamcommunity'); const TradeOfferManager = require('steam-tradeoffer-manager'); const Config = require('./Util/Config'); let bot = new SteamUser(); let social = new SteamCommunity(); let manager = new TradeOfferManager({ steam: bot, language: 'en', pollInterval: 10000, cancelTime: 900000 }); let logOnOptions = { accountName: Config.accountName, password: Config.password, twoFactorCode: SteamTotp.getAuthCode(Config.sharedSecret), }; bot.logOn(logOnOptions); bot.on('loggedOn',() =>{ console.log('Working!'); bot.setPersona(SteamUser.EPersonaState.Online); }); bot.on('webSession', function(sessionID, cookies) { manager.setCookies(cookies, function(err) { if (err) { console.log(err); process.exit(1); return; } console.log("Api is Ok"); }); social.setCookies(cookies); }); manager.on('pollFailure', function (err) { console.log("Error polling for trade offers: "+err); }); 1) I deleted the old made Api just in case, and i'm using a new one. 2) It's only this bot (1). 3)And i'm only logged in the acc, accessing with nodejs. 4) The bot is on stand by, not geting any trades, just runing that few lines, and get's 429. 5) I got the Shared Secret and Identity Secret from SDA, but from those i keep geting that there where clock problems, and could never get the code to make trades with it, so i downloaded WinAuth, and got new SS and IS, that even atomatically login with no need to manually put the code, like i needed to do with the SS and IS from SDA, so i'm using those of WinAuth. 6) I changed the PollInterval to 20,000, but even like that i keep geting the 429. From all my code, i was // or /* and */ diferents blocks of it, but it's does it nonetheless, and only goes away if i remove the "webSession", even if i only run the showed code, but that obviusly is not a fix. Can it be a problem caused by SDA?, i already unchecked all the options in SDA of regular checks or automatics responses, and i already erased WinAuth, but i didnt delete SDA mobile ver, and put the mail ver back cuz i don't want to lose a week of test if possible. I already read everything I found, but there was no actual fix, or i don't know that much, or maybe understod what it sayd.. For what i have read, it's pretty clear that there is very few one can do to fix it, and maybe the problem is just steam, but i'm asking just in case, maybe i I misunderstood something, and did something wrong. Is the code OK?. Is Steam fault, and i should not mind, or there is something i can try to not have that error?. Can it be the SS and IS that are in some way problematic? There is a fix, or there is only a limitation implementation to not get vac'ed? It's been 2 days since my last sleep lol, so i apologise in case i made a mistake or something sounds out of place. Have a grat day, and even if you cant help me, if you are reading this, thank you for your time. Rami.
-
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.
-
const manager = new TradeOfferManager({ steam: client, community: community, language: "en"}); manager.on("sentOfferChanged ", function (offer,oldState) { console.log(`Sent offer changed:` + offer.state);}); sentOfferChanged doesnt emit, the only time it emits something is when I send an offer that needs to be confirmed (ETradeOfferState = 9). Do I have to call doPoll() manually or Iam missing something?
-
How do i check if a group is joinable or invite only?
- 3 replies
-
- node.js
- node-steamcommunity
-
(and 1 more)
Tagged with:
-
Hi, I have a little question: Where can i get shared_secret? After the first run steam.login(), I got "steamguard". Which passed to the function generateAuthCode.What am I doing wrong? Thank you. var SteamCommunity = require('steamcommunity'); var steam = new SteamCommunity(); var logOnOptions = { accountName: 'user1', password: 'passsssssssword',// twoFactorCode: '72N37', twoFactorCode: SteamTotp.generateAuthCode('76561198035130610||snip') }; console.log(logOnOptions) //logs in via browser steam.login(logOnOptions, function(err, sessionID, cookies, steamguard) { console.log(steamguard) // '76561198035130610||snip' if (err) { console.log("There was an error logging in! Error details: " + err.message); process.exit(1); //terminates program } else { console.log("Successfully logged in as " + logOnOptions.accountName); } });
- 1 reply
-
- steam-totp
- authCode
-
(and 2 more)
Tagged with:
-
I wanna make a bot wich responds randomly when the user typer !random, i have created a array with the example: var random = ["random","blabla","bla"] So i added the function: function random_sentences(random) { return random[Math.floor(Math.random()*random.length)];} and if anyones type !random: else if(message == "!random") { client.chatMessage(random_sentences(random)) } this error appears: throw new Error("Unknown SteamID input format \"" + input + "\""); ^ Error: Unknown SteamID input format I did like to know how the bot can reponse randomly.Thanks
-
If I recall it correctly, node-steamcommunity and other web clients of Steam used the old chat system to get the online status to a account. To achieve this with the new chat we would have to implement a whole layer just to handle the connections with CM servers (I guess). I noticed that whenever I open the Steam app, my account get an online status, although I don't know if it also connects to CM servers or something as I haven't success trying to use debugging proxies and stuff. Anyone knows what would be the "cheapest" way to get online status on a account? Also, what's your setup to analyze the calls that Android apps make? I tried to use fiddler and mitmproxy, but my Android had some issues with CA certificates. Thanks in advance
-
I have this problem: My bot: bot.js Config.js Help pls
-
Hi my bot doesnt accept offers, i dont know why. My code:
-
I have been having this trouble on my Steam Trading Bot, when i try to run the bot, it always return Error 401 Any of you have any idea how this turns out, or how i can solve this problem Thank you so much for your time and your help Here is my full source code https://drive.google.com/open?id=110RbCiAqAY0_PvoGDyKfeKrW341GQQXZ
-
client.on("friendMessage", function(steamID, message) {if (message == "!test") {client.chatMessage(steamID, "test")}if (message == "") {client.chatMessage(steamID, "")}if (message == "") {client.chatMessage(steamID, "" )} if (message == "!mystery") {client.chatMessage(steamID, "" )}}}); Script That I'm Using Anyone Can Help Me? I Want to add Unknown Command , but , dont know how
-
Hello i use this code community.postGroupAnnouncement("103582791463279214", title, msg, (err) => { if (err) { console.log("Error while posting announcement. Error " + err); } console.log("Posted announcement!"); console.log(" - Title: " + title); console.log(" - Message: " + msg); client.chatMessage(steamID, "hadi kapı orda yürü."); }); i not get any error or warn. But not sended announcement please help me
-
Solution for getting appOwnershipChached apps' name instead of appid. I got config.default_apps by using an empty Steam account to get the numerical list of apps each account has by default and on that line I compare that default list to the list of the fetched user account which might have some games and then filter to remove the default apps. //get GAME LIST client.on('appOwnershipCached', async() => { try { const appIDs = await client.getOwnedApps() let gameList = appIDs.filter((game) => { // remove default apps from list return !config.default_apps.includes(game) }) const appDetails = await client.getProductInfo(gameList, []) let appData = appDetails.apps let arr = await Object.keys(appData).map(key => { // convert list to array return appData[key] }) let cleanGameList = [] await arr.forEach(app => { // push only app names into array if (app.appinfo.common !== undefined) { // necessary only .common since .common.name gives TypeError cleanGameList.push(app.appinfo.common.name) } }) log(cleanGameList) } catch(err) { log(err) } }) Well, I've been trying/searching different things for hours now without any sufficient results. I am trying to get the name of the app/game instead of the appid number via appOwnershipCached. I am actually trying to get the games in the users account instead of also apps and default apps that come with a Steam account. I managed to get the names with an npm package called appid, but it takes a while until it converts all of them since it's fetching it from Steam API, so unfortunately it's not an option and I've run out. So I have two questions: Is there a way to get an apps' name instead of appid? Is there a way to get only the games without apps and default apps? Edit: I actually managed to filter it to the point until I get only the games in my library. I basically filter default apps from the appOwnershipCached fetch of appIDs and then if the appID has a name, it puts it into the gameList array. But the problem is, some games seem not to have names, why is that? For example: Rocket League only has { appid: '252590', public_only: '1' } on .appinfo... OLD NOT WORKING //get GAME LIST client.on('appOwnershipCached', async() => { try { const appIDs = await client.getOwnedApps() log(appIDs) let gameList = appIDs.filter((game) => { return !config.default_apps.includes(game) }) log(gameList) accountData.games = await gameList // log("my games: " + accountData.games) const appDetails = await client.getProductInfo(gameList, []) // ROCKET LEAGUE TEST const rl = await client.getProductInfo([252590], []) log(rl.apps[252590].appinfo) // let appData = appDetails.apps // log(appData) let arr = await Object.keys(appData).map(key => { return appData[key] }) // log(arr) let cleanGameList = [] await arr.forEach(app => { if (app.appinfo.common.name != null) { // log(app.appinfo.common.name) console.log("list: ", cleanGameList) return cleanGameList.push(app.appinfo.common.name) } }) } catch(err) { log(err) } })
-
Question Error: cannot send an empty trade offer.
Kappa posted a topic in node-steam-tradeoffer-manager
Hey there, I'm such a newbie in steambot coding. The main objective of the code would be that the bot should request a cs:go / tf2 key from a user who sends the command "!order" via trade offers. My current state is that the bot creates the offer but there's always an error because I get the error: "Cannot send an empty trade offer." Is there anything which I'm too blind to see? Thanks in advance! My code: function checkKeys(steamID) { var theirKeys = []; var amountOfKeysToAdd = 1; manager.getUserInventoryContents(steamID, config.keysFromCSGO && config.keysFromTF2, 2, true, function(err, inventory) { if (err) { console.log('Error getting user inventory.'.red); } else { console.log('Checking if user has CS:GO or TF2 keys.'.green); for (var n = 0; n < inventory.length; n++) { if(theirKeys.length < amountOfKeysToAdd && config.acceptedKeys.indexOf(inventory[n].market_hash_name) >= 0) { theirKeys.push(inventory[n]); console.log(inventory[n].market_hash_name); } } console.log('User has' + theirKeys.length + 'key(s).'); } }); } function sendOffer(sender) { let theirKeys = []; var offer = (manager.createOffer(sender.getSteamID64())); offer.addTheirItems(theirKeys); offer.send ((err, status) => { if (err) { console.log('There was an error sending the offer.'.red + err); } else { console.log('An offer has been sent.'.green); console.log(status); } }); } client.on('friendMessage', (sender, message) => { if (message === "!start") { client.chatMessage(sender, config.startMessage); } else if (message === "!owner") { client.chatMessage(sender, config.ownerMessage); } else if (message === "!help") { client.chatMessage(sender, config.helpMessage); } else if (message === "!order") { client.chatMessage(sender, config.orderMessage); client.chatMessage(sender, 'Processing your request....'); checkKeys(sender); console.log('Creating offer...'.cyan); sendOffer(sender); } else if (message === "!proof") { client.chatMessage(sender, config.proofMessage); } }); -
Hello Error: Must be logged in before trying to do anything with confirmations I get this error when executing code in BAS (Browser Automation Studio) [[IDENTITY_SECRET]] = JSON.parse([[FILE_CONTENT]]).identity_secret var SteamTotp = require('steam-totp'); [[code2]] = SteamTotp.generateConfirmationKey([[IDENTITY_SECRET]]); [[code3]] = SteamTotp.getConfirmationKey([[code2]]); [[TIME]] = SteamTotp.time([[timeOffset]]); var SteamCommunity = require('steamcommunity'); var community = new SteamCommunity(); var Steam = require('steam-client'); var client = new Steam.CMClient(Steam.EConnectionProtocol.TCP); var TradeOfferManager = require('steam-tradeoffer-manager'); var manager = new TradeOfferManager(); client.on('webSession', (sessionID, cookies) => { manager.setCookies(cookies, function (err) { if (err) { logger.error(err) //игнор.прав process.exit(1); } }); community.setCookies(cookies); community.startConfirmationChecker(10000, [[code3]]); }); var time = [[TIME]]; var confKey = [[code3]]; var allowKey = [[code3]]; community.acceptAllConfirmations(time, confKey, allowKey, function(err, confs){ if(err){ res.sendError(err); return; } if(confs == null) confs = []; res.sendSuccess(confs); });
-
I want to create bot with automatic sending spesific trading card with spesific input //the conversation A: !badges 570 2 BOT: Sending 2sets of Dota 2 A: !badges 440 5 BOT: Sending 5sets of Team Fortress 2 //my spesific input ... client.on("friendMessage", function(steamID, message) { var msg; if (steamID == account.owner){ ... else if (msg = message.match(/^!badges(\d+) (\d+))) { var appID = msg[1]; var count = msg[2]; client.chatMessage(steamID, "..."); } } else{ ... } ... Can anyone help me to get the code?
-
Hi, I have a bot problem. I can not idolize a few games at once, I can only go to Tf2, if I want another free game and I can not do it, why? My code: client.logOn(logOnOptions); client.on('loggedOn', () => { console.log('Zalogowano!'); client.setPersona(SteamUser.EPersonaState.Online); client.gamesPlayed(["Siezek To Kozak!"],440); });