/node-tf2-backpack

Parses the backpack from node-tf2

Primary LanguageTypeScriptMIT LicenseMIT

node-tf2-backpack

Typed module to parse inventory items from node-tf2 Using this you no longer have to retrieve your own (bots) backpack from the steam API, which has been having issues with increasing ratelimits.

Installation

npm install tf2-backpack
import { BackpackParser } from 'tf2-backpack';
const parser = new BackpackParser(itemsGame);
// or
const tf2backpack = require('tf2-backpack');
const parser = new tf2backpack.BackpackParser(itemsGame);

Docs

Constructor(itemsGame)

  • itemsGame - itemSchema property from node-tf2. See the docs.

Constructs a new BackpackParser.
It is recommended that you save the itemSchema. It is not emitted on every connection, as it is cached. Currently working on figuring out a way to maybe force a refresh, but no promises.

Alternatively, you can also use any vdf parser module and use items_game from items_game.txt (you can find this here or the schema as items_game_url) as input.
Or items-game.json from node-tf2-static-schema
They're the same

parseBackpack

parseBackpack(backpack: NodeTF2Backpack, mapToString = false): Item<string | number>[] {}
  • backpack - backpack property from node-tf2. See the docs.
  • mapToString - set to true to return spells, parts, sheen, killstreaker, killstreakTier and wear as names instead of IDs
  • Returns Item<string | number>[]

parseItem

parseItem(item: BackpackEntry, mapToString = false): Item<string | number> {}
  • item - item from node-tf2's itemAcquired/itemChanged/itemRemoved events. See the docs.
  • mapToString - set to true to return spells, parts, sheen, killstreaker, killstreakTier and wear as names instead of IDs
  • Returns Item<string | number>

Exactly the same as parseBackpack but for a single item for convenience

Other

Since there are no standardized skus for some properties, this module also provides the following exports:

  • spellNames - spell defindex to name
  • sheens
  • killstreakers
  • parts - strange parts

mapHexToPaintName

mapHexToPaintName(primaryColor?: string, secondaryColor?: string): string {}
  • primaryColor - Primary color of the paint can, the paint property from parseBackpack output

  • secondaryColor - Secondary color of the paint can, the paint_other property from parseBackpack output

  • Returns string - Name of the paint