Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/DoctorMcKay/node-steamstore
https://github.com/DoctorMcKay/node-steamstore
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/DoctorMcKay/node-steamstore
- Owner: DoctorMcKay
- Created: 2015-11-22T04:11:52.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2024-05-14T14:38:46.000Z (6 months ago)
- Last Synced: 2024-07-30T04:31:20.781Z (3 months ago)
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/steamstore
- Size: 85 KB
- Stars: 64
- Watchers: 9
- Forks: 18
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-steam - steamstore - Interact with store.steampowered.com. (Packages / Node.js)
README
# steamstore
A module for interacting with the Steam store site from Node.js. Currently not a lot of functionality is supported.
## Logging In
This module cannot facilitate logins to the store site directly. You'll need to use something like
[`steam-user`](https://www.npmjs.com/package/steam-user) or
[`steamcommunity`](https://www.npmjs.com/package/steamcommunity) to login, and then use
[`setCookies`](#setcookiescookies) to set your login cookies in this module.The cookies are the same for the store site and for the community site.
# Patterns
**Please read this section in its entirety before starting work with `SteamStore`.**
### Callbacks and Promises
All methods listed in this document that accept a callback also return a `Promise`. You may use either callbacks or
promises.Legacy callbacks return their data spanning across multiple arguments. All promises (which return any data at all)
return a single object containing one or more properties. The names of these properties for legacy callbacks are the
names of the callback arguments listed in this readme. Newer callbacks return a single object `response` argument, which
is identical to the promise output for that method.Some methods indicate that their callback is required or optional. **You are never required to use callbacks over
promises**, but if a callback is listed as optional then an unhandled promise rejection will not raise a warning/error.
If a callback is listed as required and you neither supply a callback nor handle the promise rejection, then a
promise rejection will raise a warning, and eventually a crash in a future Node.js release.# Properties
### steamID
**v1.1.0 or later is required to use this property**A [`SteamID`](https://www.npmjs.com/package/steamid) object for the currently logged-in user.
# Methods
### Constructor([options])
- `options` - An optional object containing zero or more of these properties:
- `timeout` - The timeout to use for HTTP(S) requests, in milliseconds; default is 50000 (50 seconds)
- `userAgent` - The user-agent header value; default is Chrome 56
- `request` - A [`request`](https://www.npmjs.com/package/request) instance
- This allows you to specify your own defaults on the request instance
- These options will always be overridden on the request instance: `jar`, `timeout`, `gzip`, `headers['User-Agent']`Constructs a new instance of `steamstore`. Example:
```js
const SteamStore = require('steamstore');
let store = new SteamStore();
```or
```js
const SteamStore = require('steamstore');
let store = new SteamStore({"timeout": 30000});
```### setCookie(cookie)
- `cookie` - The cookie, in "name=value" string formatSets a single cookie to `steamstore`'s internal cookie jar.
### setCookies(cookies)
- `cookies` - An array of cookies, in "name=value" string formatSimply calls [`setCookie`](#setcookiecookie) for each cookie in the array.
### getSessionID()
Returns the value of the `sessionid` cookie, or creates a new random one and adds it to the cookie jar if not present.
### addPhoneNumber(number[, bypassConfirmation], callback)
- `number` - Your phone number, with a leading plus and the country code
- Example: `+18885550123`
- `bypassConfirmation` - `true` if you want to ignore any confirmation-level errors (see below). Default `false`
- `callback` - A function to be called when the request completes
- `err` - An `Error` object on failure, or `null` on success. The `confirmation` property will be `true` if this is
a confirmation-level error which can be overridden by setting `bypassConfirmation` to `true`Adds a new phone number to your account. This triggers a verification Email to be sent. You can continue the process by
calling [`sendPhoneNumberVerificationMessage`](#sendphonenumberverificationmessagecallback)### sendPhoneNumberVerificationMessage(callback)
- `callback` - A function to be called when the request completes
- `err` - An `Error` object on failure, or `null` on success**v2.3.0 or later is required to use this method**
Call this method after you've clicked on the link in the email you received after you called `addPhoneNumber()`.
This triggers a verification SMS to be sent. You can provide the verification code to
[`verifyPhoneNumber`](#verifyphonenumbercode-callback) to finalize the process.### resendVerificationSMS(callback)
- `callback` - A function to be called when the request completes
- `err` - An `Error` object on failure, or `null` on successAsks the Steam servers to resend the verification SMS to your pending-confirmation phone number. This will fail if you
request it too soon after the last SMS was sent.### verifyPhoneNumber(code, callback)
- `code` - Your SMS verification code
- `callback` - A function to be called when the request completes
- `err` - An `Error` object on failure, or `null` on successVerify your pending-verification phone number using the SMS code.
### removePhoneNumber(callback)
- `callback` - A function to be called when the request completes
- `err` - An `Error` object on failure, or `null` on successStarts the process to remove your phone number from your account. This will send an SMS verification code to your phone.
Call [`confirmRemovePhoneNumber`](#confirmremovephonenumbercode-callback) with the code to finalize the process.### confirmRemovePhoneNumber(code, callback)
- `code` - Your SMS verification code
- `callback` - A function to be called when the request completes
- `err` - An `Error` object on failure, or `null` on successFinalizes the process of removing your phone number from your account.
### hasPhone(callback)
- `callback` - A function to be called when the request completes
- `err` - An `Error` object on failure, or `null` on success
- `hasVerifiedPhone` - `true` if your account has a phone number linked, `false` if not
- `lastDigits` - If you have a phone number, this is a string containing the last 4 digits of your number**v1.3.0 or later is required to use this method**
Checks whether your account has a phone number linked or not.
### getAccountData(callback)
- `callback` - A function to be called when the request completes
- `err` - An `Error` object on failure, or `null` on success
- `ownedApps` - An array containing the AppID of each app which your account owns
- `ownedPackages` - An array containing the PackageID of each package which your account owns
- `wishlistedApps` - An array containing the AppID of each app that's on your wishlist
- `ignoredApps` - An array containing the AppID of each app which you've clicked "Not Interested" on
- `suggestedTags` - An object containing the tags which are suggested for you. Keys are TagIDs, values are the tag names.**v1.1.0 or later is required to use this method**
Gets information about products that your account owns, ignores, wants, or is recommended.
### sendGift(giftID, recipient, recipientName, message, closing, signature[, callback])
- `giftID` - The gift's ID (also known as the asset ID of the item in your Steam gift inventory)
- `recipient` - The recipient's SteamID (as a `SteamID` object or string) to send it over Steam. You need to be friends with the user.
- `recipientName` - The name of the recipient to put in the gift email/popup
- `message` - The message to include in the email/popup
- `closing` - The closing to include in the email/popup
- `signature` - Your name to include in the email/popup
- `callback` - Optional. Called when the request completes.
- `err` - An `Error` object on failure, or `null` on success**v1.4.0 or later is required to use this method**
Sends a Steam gift in your inventory to another user. The gift will remain in your inventory until the recipient accepts it.
You can re-send a gift which you've already sent. Gifts don't have to be tradable in order to be sent.### createWallet(walletCode, billingAddress, callback)
- `walletCode` - A Steam wallet code you want to redeem
- `billingAddress` - An object containing these properties:
- `address` - Your street address
- `city` - Your city
- `country` - Your country code, e.g. "US"
- `state` - Your state, e.g. "FL"
- `postalCode` - Your postal/ZIP code
- `callback` - Required. Called when the requested data is available.
- `err` - An `Error` object if the request fails, or `null` otherwise
- `eresult` - An `EResult` value from `SteamStore.EResult`
- `detail` - A value from `SteamStore.EPurchaseResult` or `undefined`
- `redeemable` - `true` if this code can be redeemed, `false` if not
- `amount` - If redeemable, this is how much the code is worth, in its currency's lowest denomination (e.g. USD cents)
- `currencyCode` - If redeemable, this is the currency of `amount`
**v1.7.0 or later is required to use this method**Before you can redeem a Steam Wallet code, your account needs to have a wallet. If you don't yet have a wallet you can
use this method to create one. Creating a wallet requires you to provide a wallet code, but the code won't be redeemed
until you actually call `redeemWalletCode`.### checkWalletCode()
**THIS METHOD IS NO LONGER FUNCTIONAL. IT WILL BE REMOVED IN A FUTURE RELEASE.**
### redeemWalletCode(walletCode[, callback])
- `walletCode` - The Steam wallet code you want to redeem
- `callback` - Optional. Called when the request completes.
- `err` - An `Error` object if the request fails, or `null` on success
- `eresult` - An `EResult` value from `SteamStore.EResult`
- `detail` - A value from `SteamStore.EPurchaseResult` or `undefined`
- `formattedNewWalletBalance` - If redeemed successfully, this is your new wallet balance as a string, formatted for human display (e.g. `$20.00`)
- `amount` - If redeemable, this is how much the code is worth, in its currency's lowest denomination (e.g. USD cents)**v1.5.0 or later is required to use this method**
Attempts to redeem a Steam Wallet code on your account. This will call `checkWalletCode` first, and if the code is not
redeemable, the callback will be invoked with an `Error` passed as the first parameter. That `Error` will have message
`Wallet code is not valid`, with `eresult` and `purchaseresultdetail` properties defined on that `Error` object.### getWalletBalance([callback])
- `callback` - Called when the request completes.
- `err` - An `Error` object if the request fails, or `null` on success
- `response` - The response object
- `formattedBalance` - Your wallet balance as a string, formatted in your local currency (e.g. `"$1.23"`)**v2.1.0 or later is required to use this method**
Gets your current Steam wallet balance.
### setDisplayLanguages(primary[, secondary][, callback])
- `primary` - Your desired primary (display) language, as a string (e.g. `english` or `danish`)
- `secondary` - Your desired secondary languages, as an array of strings of the same format as `primary`
- `callback` - Optional. Called when the request completes.
- `err` - An `Error` object on failure, or `null` on success**v1.5.0 or later is required to use this method**
Updates your account's display languages for the Steam store.
### addFreeLicense(subID[, callback])
- `subID` - The ID of the free-on-demand package you would like to claim
- `callback` - Optional. Called when the request completes.
- `err` - An `Error` object on failure, or `null` on success**v2.0.0 or later is required to use this method**
Request to add an eligible free-on-demand package to your Steam account.
### removeLicense(subID[, callback])
- `subID` - The ID of the complimentary license you would like to remove
- `callback` - Optional. Called when the request completes.
- `err` - An `Error` objecton failure, or `null` on success**v2.2.0 or later is required to use this method**
Removes an eligible complimentary license from your Steam account.