-
Posts
3507 -
Joined
-
Last visited
Community Answers
-
Dr. McKay's post in Problem with multiple TradeOfferManagers was marked as the answer
Yes. That's not supported. Each TradeOfferManager needs its own SteamCommunity instance.
-
Dr. McKay's post in Checking Group Join Type was marked as the answer
I don't currently have plans to add it.
-
Dr. McKay's post in Web logon interval was marked as the answer
Using setInterval will make it automatically call webLogOn every 30 minutes (with your configuration). If you call setInterval more than once, it will call webLogOn more than once every 30 minutes.
-
Dr. McKay's post in In-game & Away was marked as the answer
In the user event (or getPersonas), user.persona_state == SteamUser.EPersonaState.Away tells you if their status is set to "Away". And you can check if user.game_played_app_id is truthy to see if they're in-game.
-
Dr. McKay's post in Best practices with SDA+ some general questions about SDA was marked as the answer
You may run into problems with confirmations not appearing if you use two different solutions to confirm trades. But otherwise, it should work alright.
I'm not sure I understand what you're asking here. If you create an account but don't enable a mobile authenticator on it, it'll work fine but it won't be able to trade without 15-day trade holds.
-
Dr. McKay's post in Best way to track which items I have sent. was marked as the answer
They're the same thing.
-
Dr. McKay's post in Cannot log onto steamcommunity.com without first being connected to Steam network was marked as the answer
Before calling webLogOn, you need to check if client.steamID is set. If it isn't, then you aren't connected and you'll need to reconnect first.
-
Dr. McKay's post in tf2-node defIndex only returning undifined was marked as the answer
As of v3, properties are not converted from snake_case to camelCase. So instead of using defIndex, you need to use def_index.
-
Dr. McKay's post in Possible ram usage improvement in module was marked as the answer
This is already done in the module via persisting to local disk with the dataDirectory option (which you can redirect to go anywhere you want, including MongoDB). Update to v2.10.0 and you can override the maximum size of the asset cache, but beware that doing so will negatively impact performance as more and more items will need to be retrieved from the disk for every poll.
In practice, for the best performance, you will need more RAM the more trades you make.
-
Dr. McKay's post in Friends count was marked as the answer
Oh yeah, it's an object. Object.keys(client.myFriends).filter(steamID => client.myFriends[steamID] == SteamUser.EFriendRelationship.Friend).length
-
Dr. McKay's post in sendToGC callback never gets called was marked as the answer
In general, Valve's GCs don't actually respond to messages using job IDs (which is the mechanism used when you pass a callback to sendToGC. Only if the GC supports using a message as a job will the callback be invoked. ClientHello is not a job-based message.
Are you sure that ++this._currentGCJobID is returning NaN? I can't reproduce that on my end, and I see no way in the code that this would happen.
-
Dr. McKay's post in getting error in callback function getTradeURL was marked as the answer
Run npm update and it will throw properly.
-
Dr. McKay's post in reading protobuf message was marked as the answer
Skip the first 4 bytes, and this schema will decode it:
message SteamDatagramTicket { message DataWeCareAbout { message NamedInteger { optional string name = 1; optional fixed64 value = 5; } message LoneInteger { optional fixed64 value = 16; } optional fixed32 unknown1 = 1; optional fixed64 steamid = 2; optional fixed32 unknown3 = 3; optional fixed64 server_steamid = 4; optional fixed64 unknown5 = 5; optional int32 app_id = 7; repeated NamedInteger arguments = 8; optional fixed32 unknown9 = 9; optional int32 unknown10 = 10; optional bytes unknown11 = 11; optional LoneInteger steamid_again = 12; optional LoneInteger server_steamid_again = 13; } optional fixed64 unknown2 = 2; optional DataWeCareAbout data = 3; optional bytes unknown4 = 4; } This was produced by reverse-engineering. The field names are definitely not the same as what Valve uses.
-
Dr. McKay's post in Is there a way to get item image and name by market listing id from the confirmation? was marked as the answer
If you use getConfirmations, the result will be an array of CConfirmation objects. The title contains the item's name, and the icon contains its image.
-
Dr. McKay's post in getGroups(callback): wrong response was marked as the answer
You're right, the docs are wrong. I've fixed it.
There is no way to retrieve the list of members in a chat room group, so I've added a method for how the Steam client does it.
-
Dr. McKay's post in getPersonas not working with module.exports was marked as the answer
If the code you posted in your original post is that entire file, then that specific client is not logged on. You instead created a new one.
-
Dr. McKay's post in People joining chat room was marked as the answer
Without seeing exactly how parseMessage is called, all I can suggest is that maybe you want that if to be if (!message || !message.startsWith('!'))
-
Dr. McKay's post in GroupID and clanSteamID was marked as the answer
That SteamID (like all 64-bit SteamIDs) is too big to be represented as a JavaScript number. It's being rounded.
Wrap it in quotes.
-
Dr. McKay's post in Getting highlights in Group CHAT was marked as the answer
You need to use bbcode: [mention=accountid]@name[/mention]
-
Dr. McKay's post in Clearing previous aliases was marked as the answer
I've just added it in v3.40.0.
-
Dr. McKay's post in help with loginKey write invalid password was marked as the answer
If you're using a loginkey, don't send the password.