Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/DoctorMcKay/node-steamid
https://github.com/DoctorMcKay/node-steamid
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/DoctorMcKay/node-steamid
- Owner: DoctorMcKay
- License: mit
- Created: 2014-10-09T02:16:32.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2024-10-20T14:47:07.000Z (3 months ago)
- Last Synced: 2024-10-30T05:57:55.534Z (2 months ago)
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/steamid
- Size: 62.5 KB
- Stars: 66
- Watchers: 10
- Forks: 11
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-steam - steamid - SteamID usage and conversion made easy. (Packages / Node.js)
- awesome-esports - Node.js
README
# SteamID for Node.js
This module provides a SteamID object which makes SteamID usage and conversion easy.
**v2 requires Node.js version 12 or later.**
# Installation
Install it from npm:
$ npm install steamid
# Brief Overview
A SteamID is made up of four parts: its **universe**, its **type**, its **instance**, and its **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.
- **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 *clans* (Steam groups), *gameservers*, and more.
- **Instance**: The instance ID isn't usually used.
- **Account ID**: This represents a unique account of a type.There are enums for each type available under the root SteamID object.
## Universes
```js
SteamID.Universe = {
INVALID: 0,
PUBLIC: 1,
BETA: 2,
INTERNAL: 3,
DEV: 4
}
```## Types
```js
SteamID.Type = {
INVALID: 0,
INDIVIDUAL: 1,
MULTISEAT: 2,
GAMESERVER: 3,
ANON_GAMESERVER: 4,
PENDING: 5,
CONTENT_SERVER: 6,
CLAN: 7,
CHAT: 8,
P2P_SUPER_SEEDER: 9,
ANON_USER: 10
}
```## Instances
```js
SteamID.Instance = {
ALL: 0,
DESKTOP: 1,
CONSOLE: 2,
WEB: 4
};
```# SteamID Creation
You can create a SteamID object from a Steam2 rendered ID, a Steam3 rendered ID, a SteamID64, or from the four parts that make up a SteamID.
## Steam2 ID
```js
const SteamID = require('steamid');
let sid = new SteamID('STEAM_0:0:23071901');
```## Steam3 ID
```js
const SteamID = require('steamid');
let sid = new SteamID('[U:1:46143802]');
```## SteamID64
```js
const SteamID = require('steamid');
let sid = new SteamID('76561198006409530');// Or you can use a BigInt; new in [email protected]
let sid2 = new SteamID(76561198006409530n);
```## SteamID Parts
```js
const SteamID = require('steamid');
let sid = new SteamID();
sid.universe = SteamID.Universe.PUBLIC;
sid.type = SteamID.Type.INDIVIDUAL;
sid.instance = SteamID.Instance.DESKTOP;
sid.accountid = 46143802;
```## Individual AccountID
There's a shorthand method for creating an individual SteamID with the desktop instance in the public universe given an accountid:
```js
const SteamID = require('steamid');
let sid = SteamID.fromIndividualAccountID(46143802);
```# Using a SteamID
Once you have created a `SteamID` object, you can access its properties (`universe`, `type`, `instance`, and `accountid`),
or you can convert it between rendered types.## isValid()
Returns whether Steam would consider a given ID to be "valid". This does not check whether the given ID belongs to a
real account that exists, nor does it check that the given ID is for an individual account or in the public universe.## isValidIndividual()
Returns whether this SteamID is valid and belongs to an individual user in the public universe with a desktop instance.
This is what most people think of when they think of a SteamID. Does not check whether the account actually exists.## isGroupChat()
Returns `true` if the `type` of this SteamID is `CHAT`, and it's associated with a Steam group's chat room.
## isLobby()
Returns `true` if the `type` of this SteamID is `CHAT`, and it's associated with a Steam lobby.
## getSteam2RenderedID([newerFormat])
*Shorthand: `steam2([newerFormat])`*
Returns the Steam2 rendered ID format for individual accounts. Throws an error if the type isn't individual.
If you pass `true` for `newerFormat`, the first digit will be 1 instead of 0 for the public universe.
Example:
```js
const SteamID = require('steamid');
let sid = new SteamID('76561198006409530');
console.log(sid.getSteam2RenderedID()); // STEAM_0:0:23071901
console.log(sid.getSteam2RenderedID(true)); // STEAM_1:0:23071901
```## getSteam3RenderedID()
*Shorthand: `steam3()`*
Returns the Steam3 rendered ID format.
Examples:
```js
const SteamID = require('steamid');let sid = new SteamID(76561198006409530n);
console.log(sid.getSteam3RenderedID()); // [U:1:46143802]let gid = new SteamID(103582791434202956n);
console.log(gid.getSteam3RenderedID()); // [g:1:4681548]
```## getSteamID64()
*Alias: `toString()`*
Returns the 64-bit representation of the SteamID, as a string.
Examples:
```js
const SteamID = require('steamid');let sid = new SteamID('[g:1:4681548]');
console.log(sid.getSteamID64()); // "103582791434202956"let sid2 = new SteamID('STEAM_0:0:23071901');
console.log(sid2.getSteamID64()); // "76561198006409530"
```## getBigIntID()
Returns the 64-bit representation of the SteamID, as a BigInt.
Examples:
```js
const SteamID = require('steamid');let sid = new SteamID('[g:1:4681548]');
console.log(sid.getBigIntID()); // 103582791434202956nlet sid2 = new SteamID('STEAM_0:0:23071901');
console.log(sid2.getBigIntID()); // n76561198006409530n
```# Tests
Use `npm test` to run the included test suite.