/id

Module to make SteamID usage and conversion easy

Primary LanguageTypeScriptMIT LicenseMIT

Chat Travis CI Dependencies Version Downloads License Runkit

npm statistics

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)

Overview

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

Installation

You can install ID through the command line by using the following command:

yarn add @node-steam/id

Usage:

import * as SteamID from '@node-steam/id';

// or

import {
    fromAccountID,
    ID,
    Instance,
    Type,
    Universe,
} from '@node-steam/id';

Creation

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:

SteamID2

const id = new ID('STEAM_0:0:11101');

SteamID3

const id = new ID('[U:1:22202]');

SteamID64

const id = new ID('76561197960287930');

Parts

const id     = new ID();
id.universe  = Universe.PUBLIC;
id.type      = Type.INDIVIDUAL;
id.instance  = Instance.DESKTOP;
id.accountid = 22202;

AccountID

const id = fromAccountID(22202);

Documentation:

Generated Documentation

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'

Differences from node-steamid

  • ES6 // Typescript syntax
  • Typescript definitions
  • cuint definitions
  • More getters
  • Modern ES6 tests

(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!

Contributors

Contributing:

Interested in contributing to ID? Contributions are welcome, and are accepted via pull requests. Please review these guidelines before submitting any pull requests.

Help:

Installing dependencies:

yarn

Compile:

yarn compile

Test:

yarn test

Generate Docs:

yarn docs

Tests:

This module is thoroughly tested with ava

License:

Code licensed under MIT, documentation under CC BY 3.0.