ID is a module to make SteamID usage and conversion easy using Typescript.
Heavily inspired by node-steamid
(
<= v1.0.0
can be used as a drop-in replacement)
A SteamID is made up of four parts: it's Universe, it's Type, it's Instance, and it's Account ID.
Universe: Currently, there are 5 universes. A universe is a unique instance of Steam. You'll probably only be interacting with the public universe, which is the regular Steam. Only Valve employees can access non-public universes.
We provide a enum for all available universes
Type: A SteamID's type determines what it identifies. The most common type is INDIVIDUAL
, for user accounts. There are also other types such as CLAN
(Steam groups), GAMESERVER
, and more.
We provide a enum for all available types
Instance: The instance ID isn't usually used.
We provide a enum for all available instances
Account ID: This represents a unique account of the persona
You can install ID through the command line by using the following command:
yarn add @node-steam/id
import * as SteamID from '@node-steam/id';
// or
import {
fromAccountID,
ID,
Instance,
Type,
Universe,
} from '@node-steam/id';
You can create a SteamID object from a SteamID2, a SteamID3, a SteamID64, a Account ID or from the four parts that make up a SteamID:
const id = new ID('STEAM_0:0:11101');
const id = new ID('[U:1:22202]');
const id = new ID('76561197960287930');
const id = new ID();
id.universe = Universe.PUBLIC;
id.type = Type.INDIVIDUAL;
id.instance = Instance.DESKTOP;
id.accountid = 22202;
const id = fromAccountID(22202);
new ID(id?: string)
API class
ID.isValid()
Check whether the ID is valid or not
const id = new ID('76561197960287930');
id.isValid();
> true
ID.isGroupChat()
Check whether the ID is tied to a steam groupchat or not
const id = new ID('76561197960287930');
id.isGroupChat();
> false
ID.isLobby()
Check whether the ID is a steam lobby or not
const id = new ID('76561197960287930');
id.isLobby();
> false
ID.getSteamID2(format?: boolean)
Render the ID in the Steam2 format
Aliases:
get2, steam2, getSteam2RenderedID
const id = new ID('76561197960287930');
id.getSteamID2();
> 'STEAM_0:0:11101'
ID.getSteamID3()
Render the ID in the Steam3 format
Aliases:
get3, steam3, getSteam3RenderedID
const id = new ID('76561197960287930');
id.getSteamID3();
> '[U:1:22202]'
ID.getSteamID64()
Render the ID in the 64-bit format
Aliases:
get64, steam64
const id = new ID('STEAM_0:0:11101');
id.getSteamID64();
> '76561197960287930'
fromAccountID(id: number)
Create a ID object from an individual account ID
Aliases:
fromIndividualAccountID
const id = fromAccountID(22202);
id.getSteamID64();
> '76561197960287930'
ID.getUniverse()
Returns the Universe of the current ID
const id = new ID('76561197960287930');
id.getUniverse();
> 'PUBLIC'
ID.getType()
Returns the Type of the current ID
const id = new ID('76561197960287930');
id.getType();
> 'INDIVIDUAL'
ID.getInstance()
Returns the Instance of the current ID
const id = new ID('76561197960287930');
id.getInstance();
> 'DESKTOP'
ID.getUniverseID() | ID.universe
Returns the Universe ID of the current ID
const id = new ID('76561197960287930');
id.getUniverseID();
// or
id.universe;
> 1
ID.getTypeID() | ID.type
Returns the Type ID of the current ID
const id = new ID('76561197960287930');
id.getTypeID();
// or
id.type;
> 1
ID.getInstanceID() | ID.instance
Returns the Instance ID of the current ID
const id = new ID('76561197960287930');
id.getInstanceID();
// or
id.instance;
> 1
ID.getAccountID() | ID.accountid
Returns the Account ID of the current ID
const id = new ID('76561197960287930');
id.getAccountID();
// or
id.accountid;
> 22202
ID.getFormat() | ID.format
Returns the format that was used to generate the current ID
const id = new ID('76561197960287930');
id.getFormat();
// or
id.format;
> 'steam64'
cuint
definitionsgetters
(Basically there is no real need to switch - the definitions were just needed for other related projects)
It is currently backward-compatible // works as drop-in replacement but the compatibility code will be removed in future versions!
Interested in contributing to ID? Contributions are welcome, and are accepted via pull requests. Please review these guidelines before submitting any pull requests.
Installing dependencies:
yarn
Compile:
yarn compile
Test:
yarn test
Generate Docs:
yarn docs
This module is thoroughly tested with ava
Generated using TypeDoc