Friday, September 20, 2024 12:00:18 AM
> settings

Customize


Authenticate

> steam.js
const request = require('request-promise-native'),
    Config = require("../config");

module.exports = {
    getSteamUserData: async (steamID) => {
        try {
            let steamID64 = "";

            if (/^\d{17}$/.test(steamID)) {
                steamID64 = steamID;
            } else {
                let vanity = await request({
                    url: `http://api.steampowered.com/ISteamUser/ResolveVanityURL/v0001/?key=${Config.STEAM_KEY}&vanityurl=${steamID}`,
                    json: true
                });

                if (vanity.response.success === 1) {
                    steamID64 = vanity.response.steamid;
                } else {
                    return {
                        response: false,
                        reason: "Unable to find steam profile"
                    };
                }
            }

            let playerProfile = await request({
                url: `http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=${Config.STEAM_KEY}&steamids=${steamID64}`,
                json: true
            });

            if (playerProfile.response.players.length === 0) {
                return {
                    response: false,
                    reason: "Steam query returned empty"
                };
            }

            return {
                response: true,
                data: {
                    steamid: (playerProfile.response.players[0].steamid),
                    avatar: (playerProfile.response.players[0].avatarfull),
                    username: (playerProfile.response.players[0].personaname),
                    realname: (playerProfile.response.players[0].realname),
                    status: (playerProfile.response.players[0].personastate),
                    gameinfo: (playerProfile.response.players[0].gameextrainfo),
                    gameid: (playerProfile.response.players[0].gameid),
                    lobbysteamid: (playerProfile.response.players[0].lobbysteamid),
                    timecreated: (playerProfile.response.players[0].timecreated),
                    lastlogoff: (playerProfile.response.players[0].lastlogoff),
                    loccountrycode: (playerProfile.response.players[0].loccountrycode),
                    locstatecode: (playerProfile.response.players[0].locstatecode),
                    loccityid: (playerProfile.response.players[0].loccityid),
                    communityvisibilitystate: (playerProfile.response.players[0].communityvisibilitystate),
                    profileurl: (playerProfile.response.players[0].profileurl)
                }
            };
        } catch (err) {
            return {
                response: false,
                reason: "Steam query ratelimit"
            }
        }
    }
};
All opinions represented herein are my own
- © 2024 itsthedevman
- build 3c15a1b