Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var fs = require('fs');
- var crypto = require('crypto');
- var Steam = require('steam');
- var moment = require('moment');
- /*
- Hour idle script.
- */
- /*
- Bot info:
- */
- var logOnOptions = {
- account_name: '',
- password: ''
- };
- var authCode = '';
- /*
- Bot settings:
- */
- var games = {
- games_played: [
- { game_id: '440' }
- { game_id: '730' }
- ]
- }
- console.log(" _ ____ __ __ ");
- console.log(" (_)___/ / /__ / /_ ____ / /_");
- console.log(" / / __ / / _ \\ / __ \\/ __ \\/ __/");
- console.log(" / / /_/ / / __/ / /_/ / /_/ / /_ ");
- console.log("/_/\\__,_/_/\\___/ /_.___/\\____/\\__/ ");
- function hourMinuteSecond() {
- var date = new moment();
- var result = date.format('HH:mm:ss');
- return result;
- }
- function getSHA1(bytes) {
- var shasum = crypto.createHash('sha1');
- shasum.end(bytes);
- return shasum.read();
- }
- var steamClient = new Steam.SteamClient();
- var steamUser = new Steam.SteamUser(steamClient);
- var steamFriends = new Steam.SteamFriends(steamClient);
- try {
- console.log("[" + hourMinuteSecond() + "] " + '[LOGIN] Searching for sentry file...');
- logOnOptions['sha_sentryfile'] = getSHA1(fs.readFileSync('sentry'));
- console.log("[" + hourMinuteSecond() + "] " + '[LOGIN] Sentry file found, attempting login...');
- } catch (e) {
- console.log("[" + hourMinuteSecond() + "] " + '[LOGIN] Sentry file was not found.');
- if (authCode != '') {
- logOnOptions['auth_code'] = authCode;
- console.log("[" + hourMinuteSecond() + "] " + '[LOGIN] Attempting login via the provided Steam Guard code...');
- } else {
- console.log("[" + hourMinuteSecond() + "] " + '[LOGIN] No authentication method was found, attempting Steam Guard code request.');
- }
- }
- if (fs.existsSync('servers')) {
- Steam.servers = JSON.parse(fs.readFileSync('servers'));
- }
- steamClient.connect();
- steamClient.on('connected', function() {
- console.log("[" + hourMinuteSecond() + "] " + '[LOGIN] Successfully connected to Steam servers.');
- console.log("[" + hourMinuteSecond() + "] " + '[LOGIN] Attempting login...');
- steamUser.logOn(logOnOptions);
- });
- steamClient.on('logOnResponse', function(logonResp) {
- if (logonResp.eresult == Steam.EResult.OK) {
- console.log("[" + hourMinuteSecond() + "] " + '[LOGIN] Successfully logged in.');
- steamFriends.setPersonaState(Steam.EPersonaState.Online);
- steamUser.gamesPlayed(games);
- console.log("[" + hourMinuteSecond() + "] " + '[IDLE] Started idling selected games.');
- } else {
- console.log("[" + hourMinuteSecond() + "] " + '[LOGIN] An error occurred while trying to login.');
- }
- });
- steamClient.on('servers', function(servers) {
- fs.writeFile('servers', JSON.stringify(servers));
- });
- steamUser.on('updateMachineAuth', function(sentry, callback) {
- fs.writeFileSync('sentry', sentry.bytes);
- callback({ sha_file: getSHA1(sentry.bytes) });
- });
- steamClient.on('error', function(error) {
- console.log("[" + hourMinuteSecond() + "] " + '[ERROR] Disconnected from Steam servers.');
- if (authCode != '' || fs.existsSync('sentry')) {
- setTimeout(function() {
- console.log("[" + hourMinuteSecond() + "] " + '[ERROR] Attempting to reconnect...');
- steamClient.connect();
- }, 5000);
- } else {
- console.log("[" + hourMinuteSecond() + "] " + '[ERROR] Sent a Steam Guard code to your email.');
- console.log("[" + hourMinuteSecond() + "] " + '[ERROR] Exiting app. Enter auth code above in the code.');
- process.exit();
- }
- });
Add Comment
Please, Sign In to add comment