Skip to content

Instantly share code, notes, and snippets.

@saitho
Created November 2, 2017 21:11
Show Gist options
  • Save saitho/a5466402b4bc1c7b2ec431c350f08567 to your computer and use it in GitHub Desktop.
Save saitho/a5466402b4bc1c7b2ec431c350f08567 to your computer and use it in GitHub Desktop.
Node.js Steamstore - Redeem key example
const SteamUser = require('steam-user');
const SteamTotp = require('steam-totp');
const SteamStore = require('steamstore');
const client = new SteamUser();
const steamstore = new SteamStore();
client.logOn({
"accountName": "###username###",
"password": "###password###",
"twoFactorCode": SteamTotp.generateAuthCode("###sharedSecret###")
});
client.on("webSession", ({}, cookies: Array<string>) => {
steamstore.setCookies(cookies);
steamstore.redeemGameKey("29TJB-3QJ80-TRTDE", (err, eresult, ekeyactivationresult, purchase_receipt_info) => {
switch (ekeyactivationresult) {
case steamstore.EKeyActivationResult.Success:
console.log("Key redeemed successfully.");
break;
case steamstore.EKeyActivationResult.InvalidProductKey:
console.log("Invalid product key.");
break;
case steamstore.EKeyActivationResult.UnexpectedError:
console.log("Unexpected error. Try again in 30 minutes or contact Steam support.");
break;
case steamstore.EKeyActivationResult.AlreadyInAccount:
console.log("Game already exists on account.");
break;
case steamstore.EKeyActivationResult.CountryRestriction:
console.log("Game not available in your country.");
break;
case steamstore.EKeyActivationResult.UsedProductKey:
console.log("Product key already used.");
break;
case steamstore.EKeyActivationResult.GameRequired:
console.log("You need another game to redeeem this key.");
break;
case steamstore.EKeyActivationResult.PlayOnPS3:
console.log("You'll have to play the game on PS3 before you can redeem this key.");
break;
case steamstore.EKeyActivationResult.AccountBalanceKey:
console.log("Key is not a game key. Try redeeming it as a balance card instead.");
break;
case steamstore.EKeyActivationResult.TooManyActivations:
console.log("Too many activation attempts from this account or IP address.");
break;
default:
console.log("Unknown error code " + ekeyactivationresult);
break;
}
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment