Barak Posted October 12, 2021 Report Posted October 12, 2021 Hey McKay, loving the work that you've done for the steam and JS communities. I've been using your `steamcommunity` package, but I've ran into this weird problem. I want to use the `getSteamUser` method on the community class. My user is logged in via a Passport Steam strategy and that returns an object after the user logs in that looks like this: this is my account. Right, so I deserialize this data in a session and work with the `steamid` property since that is the only one I need to perform actions etc. But, when trying to use `getSteamUser` with this steamId it throws `Cannot find user`. I realize that it wants a steamID object or a URL as specified here id - Either a SteamID object or a user's URL (the part after /id/)\ but even when calling by my URL which in the above case it's `psychoqt` manually I get this back: Now as you can see the steamID object is filled with universe type etc, but the accountID is different. It is not the steam ID. Even if I compose this object myself, I would be missing the accountid from the previous payload. The only solution I can see here is to parse `profileurl` and take everything right from `/id/` but it seems kinda hacky and inconsistent. Is there any other way I could go around this? Thanks,, Filip Quote
Dr. McKay Posted October 12, 2021 Report Posted October 12, 2021 A SteamID object is an object, not a string containing the 64-bit SteamID. See info here from the SteamCommunity docs. The SteamID returned when you retrieve the user's profile from their vanity URL is indeed correct: > const SteamID = require('steamid') > let sid = new SteamID() > sid.universe = 1 > sid.type = 1 > sid.instance = 1 > sid.accountid = 117631762 > sid.getSteamID64() '76561198077897490' If you have the SteamID e.g. from passport-steam, then this is how you'd call getSteamUser: const SteamCommunity = require('steamcommunity'); let community = new SteamCommunity(); community.getSteamUser(new SteamCommunity.SteamID('76561198077897490'), (err, user) => { // . . . }); That said, if all you're doing with node-steamcommunity is retrieving users' profile details, you're far better off using the WebAPI for that. Barak 1 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.