Need private packages and team management tools?Check out npm Teams »

@node-steam/id

1.1.0 • Public • Published

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.

Install

npm i @node-steam/id

DownloadsWeekly Downloads

66

Version

1.1.0

License

MIT

Unpacked Size

20.8 kB

Total Files

8

Last publish

Collaborators

  • avatar