-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathexample.js
66 lines (60 loc) · 1.95 KB
/
example.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
var steamKey = require("./"),
Steam = require("steam"),
bot = new Steam.SteamClient(),
steamUser = new Steam.SteamUser(bot),
SteamRegistrar = new steamKey.SteamRegistrar(steamUser, bot, true),
readlineSync = require("readline-sync"),
fs = require('fs'),
crypto = require("crypto");
function MakeSha(bytes) {
var hash = crypto.createHash('sha1');
hash.update(bytes);
return hash.digest();
}
var onSteamLogOn = function onSteamLogOn(response){
if (response.eresult == Steam.EResult.OK) {
console.log('Logged in!');
}
else
{
console.log('error, ', response);
process.exit();
}
// You can listen for the purchaseResponse event...
SteamRegistrar.on('purchaseResponse', function(resp) {
console.log("Got purchaseResponse event");
console.log(resp);
});
// Or you can provide a callback function with the activateKey method
SteamRegistrar.activateKey("AAAAA-BBBBB-CCCCC", function(purchaseResponse) {
console.log("purchaseResponse callback received purchaseResponse");
console.log(purchaseResponse);
});
}, onSteamSentry = function onSteamSentry(sentry) {
console.log("Received sentry.");
fs.writeFileSync('sentry', sentry);
};
var username = readlineSync.question('Username: ');
var password = readlineSync.question('Password: ', {noEchoBack: true});
var authCode = readlineSync.question('AuthCode: ');
var logonDetails = {
"account_name": username,
"password": password
};
if (authCode !== "") {
logonDetails.auth_code = authCode;
}
var sentry = fs.readFileSync("sentry");
if (sentry.length) {
logonDetails.sha_sentryfile = MakeSha(sentry);
}
bot.connect();
steamUser.on('updateMachineAuth', function(response, callback){
fs.writeFileSync('sentry', response.bytes);
callback({ sha_file: MakeSha(response.bytes) });
});
bot.on("logOnResponse", onSteamLogOn)
.on('sentry', onSteamSentry)
.on('connected', function(){
steamUser.logOn(logonDetails);
});