-
Posts
3394 -
Joined
-
Last visited
Reputation Activity
-
Dr. McKay got a reaction from Revadike in Steam Rate Limits
Some people are working on maintaining a list of rate-limits here: https://www.reddit.com/r/SteamBot/wiki/rate-limits
-
Dr. McKay got a reaction from Jinxed740 in Nothing fired after loggedOn event
You're logging in anonymously, because you're using account_name instead of accountName.
-
Dr. McKay got a reaction from TotallyNotABOT in Error: SteamGuardMobile
You can't use the same 2FA code twice. That means that effectively you can't login twice within 30 seconds.
That said, you don't have to. SteamUser will give you login cookies you can use with SteamCommunity.
client.on('webSession', function(sessionID, cookies) { community.setCookies(cookies); }); -
-
Dr. McKay got a reaction from tbo0 in getInventoryContexts returns malformed response
Are you logged in?
-
Dr. McKay got a reaction from T1MOXA in Cannot read property 'player_name' of undefined
You're overwriting the value of steamID in your outer loop, which changes the context of the closure. This is confusing, I know. Just do this and it should work:
bot.on('friendsList', function() { Object.keys(bot.myFriends).forEach(function(steamID) { if(bot.myFriends[steamID] === 2) { bot.getPersonas([steamID], function(getName) { var friendName = getName[steamID].player_name; //Some code }); } }); }); -
Dr. McKay got a reaction from d4c0 in Help me find method
https://github.com/DoctorMcKay/node-steamcommunity/blob/master/components/users.js#L345
-
Dr. McKay got a reaction from mrxbell in There was an error sending your trade offer. Please try again later. (26)
https://steamerrors.com/26
-
Dr. McKay got a reaction from mrxbell in webSession not fire when i call webLogOn() ?
I've been investigating this for the past hour and a half or so, and it appears that Valve did indeed break something with client-based web logons last night. The API is giving quite a lot of 403s with the same error message that you get if you use a bad nonce. Therefore, my suspicion is that there's some kind of miscommunication between the CM (the server which most likely generates the nonce and issues it to you), and whichever server consumes those nonces to turn them into cookies. I've tried adding some delays just in case the communication between those servers is slow, but that doesn't appear to have helped anything.
Re-logging your client seems to solve the problem, at least temporarily. You may want to try doing that if you don't get a web session within a reasonable amount of time after requesting one.
I've alerted Valve, but there's no telling if or when they'll take action.
-
Dr. McKay got a reaction from mrxbell in webSession not fire when i call webLogOn() ?
Best I can tell, web logons became finnicky ever since the Steam maintenance last night.
-
Dr. McKay got a reaction from Yoki in [Question] How do you receive market_hash_name in trade.
https://github.com/DoctorMcKay/node-steam-tradeoffer-manager/wiki/TradeOffer#properties
itemsToReceive
-
Dr. McKay got a reaction from mrxbell in How convert steamID64 to steamID3
https://www.npmjs.com/package/steamid
var SteamID = require('steamid'); var steamid3 = (new SteamID(steamid64)).steam3(); If you want the accountID and not the Steam3 rendered format as your title implies ([u:1:46143802]) then you just want to do:
var SteamID = require('steamid'); var accountID = (new SteamID(steamid64)).accountid; -
Dr. McKay got a reaction from pipskas in how to get assetid after accept offer
https://github.com/DoctorMcKay/node-steam-tradeoffer-manager/wiki/TradeOffer#getreceiveditemsgetactions-callback
-
Dr. McKay reacted to MrKirby in How to get your own name in console (and other users (optional))
After some time having trouble with it (as I am new), I got it to work! Thanks so much dude! for everyone else wondering.. I used this:
client.on('friendMessage', function(steamID, message) { friendID = [steamID]; client.getPersonas(friendID, function(getName) { var x = getName[friendID]; var friendName = x.player_name; console.log("[FriendlyMessage] " + friendName + ": " + message); } }); Brackets could be wrong because my code didn't stop there and I am correcting it within the text editor
I do have another question and I don't know if I should ask it here?
But, what are the numbers for friendrelationships??
I know 2 is friend request send to me. But where can I find it.. because I am having trouble finding everything...
EDIT: After actually turning my brain on.. I checked within the files of your node and found a file with the numbers.... Shit I'm stupid... Thanks anyway!! GREAT SHIT DUDE!!!
-
Dr. McKay got a reaction from headshot1k in ClientMicroTxnAuthRequest (5504)
Don't do it that way, that's a very bad idea. Write the entire 64-bit number to the buffer.
-
Dr. McKay got a reaction from headshot1k in ClientMicroTxnAuthRequest (5504)
Okay, here's the flow of how this works:
CS:GO client sends a GCStorePurchaseInit to the GC with the items you want to buy You get back a GCStorePurchaseInitResponse containing a result (1 = OK) and a transaction ID (64-bit, even though it can currently fit into 32 bits) Concurrently, you get a ClientMicroTxnAuthRequest message via Steam. Discard the first byte of the payload (seems to be 1 in the dump you sent, not sure if that's always the case or what the significance of it is), then decode the remainder of the payload as Binary KeyValues (require('binarykvparser').parse(payload.toBuffer().slice(1))). The interesting stuff in there is the total/BillingTotal and transID (orderid is there if you want to make sure it matches what the GC sent back). Grab the transID and send it back in ClientMicroTxnAuthorize (little-endian encoded, as always) and append a 32-bit value of 2 (unsure what the significance of this is, or if it ever changes from 2. Could perhaps be an authorization result, where 1 is deny or something). You'll get back ClientMicroTxnAuthorizeResponse with a payload containing a 32-bit eresult value (1 = OK), and a 1-byte unknown value of 0. If successful, If successful, send GCStorePurchaseFinalize to the GC containing the transaction ID you from the GC before (not transID) to get your items. -
Dr. McKay got a reaction from mrxbell in sessionExpired will be emitted continuously until you log back in ?
Remove listeners if you're done with it. But it being emitted is an indicator that something is still trying to do something even when you've logged off.
-
Dr. McKay got a reaction from evirtual_dev in How to Get All Item From CS GO
There is no way to do this. You can parse the CS:GO item schema that ships with the game, but I don't believe it'll get you what you want.
-
Dr. McKay got a reaction from Statyw in Change IP on steamcommunity
On your local PC it should be your private IP, but not 127.0.0.1.
-
Dr. McKay got a reaction from Vin4er in error on sending offer
It usually helps to print out values of variables when debugging. In this case, I suspect one of appid, contextid, or assetid is undefined or not the value you are expecting.
-
Dr. McKay got a reaction from Vin4er in error on sending offer
Data types shouldn't matter. The module should convert everything internally for you. Are you absolutely sure you're using asset IDs which are owned by the account you're logged into? Maybe you mixed up some accounts?
-
-
Dr. McKay got a reaction from Vin4er in error on sending offer
Yes, the assetid is the "id" property there.
-
Dr. McKay got a reaction from EthanBOT in 'Could not act on confirmation' while trying to respond to any confirmation
You can use this to accept all outstanding confirmations at once, but the entire request will fail if any one confirmation fails to be confirmed.
-
Dr. McKay got a reaction from EthanBOT in Bot running 24/7 - Quick question
That will create a new interval every time your session expires. Either use setTimeout or create the internal outside of that event callback.
Also, you may want to listen for the sessionExpired event.