Advertisement
Guest User

Untitled

a guest
Oct 9th, 2016
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var steam = require("steam"),
  2.     util = require("util"),
  3.     fs = require("fs"),
  4.     crypto = require("crypto"),
  5.     dota2 = require("dota2"),
  6.     steamClient = new steam.SteamClient(),
  7.     steamUser = new steam.SteamUser(steamClient),
  8.     steamFriends = new steam.SteamFriends(steamClient),
  9.     Dota2 = new dota2.Dota2Client(steamClient, true);
  10.  
  11. global.config = require("./config");
  12.  
  13. var onSteamLogOn = function onSteamLogOn(logonResp) {
  14.     if (logonResp.eresult == steam.EResult.OK) {
  15.         steamFriends.setPersonaState(steam.EPersonaState.Busy);
  16.         steamFriends.setPersonaName("Dota 2 Bot");
  17.         util.log("Logged on.");
  18.  
  19.         Dota2.launch();
  20.         Dota2.on("ready", function() {
  21.             util.log("Node-dota2 ready.");
  22.  
  23.             var accId = 63470426;
  24.             var playerInfo = 1;
  25.            
  26.             if(playerInfo == 0){
  27.                 Dota2.requestProfile(accId, true);
  28.                 Dota2.on("profileData", function (accId, data) {
  29.                     util.log(JSON.stringify(data));
  30.                  });
  31.           }
  32.  
  33.             if(playerInfo == 1){
  34.                 Dota2.requestPassportData(accId, function (err, response) {
  35.                     util.log(JSON.stringify(response));
  36.                 });
  37.             }
  38.            
  39.             if(playerInfo == 0){
  40.                 Dota2.requestPlayerStats(accId, function (accId, data) {
  41.                     util.log(JSON.stringify(data));
  42.                 });
  43.             }
  44.  
  45.         });
  46.  
  47.         Dota2.on("unready", function onUnready() {
  48.             util.log("Node-dota2 unready.");
  49.         });
  50.  
  51.         Dota2.on("chatMessage", function(channel, personaName, message) {
  52.             util.log("[" + channel + "] " + personaName + ": " + message);
  53.         });
  54.  
  55.         Dota2.on("unhandled", function(kMsg) {
  56.             util.log("UNHANDLED MESSAGE #" + kMsg);
  57.         });
  58.     }
  59. },
  60. onSteamServers = function onSteamServers(servers) {
  61.     util.log("Received servers.");
  62.     fs.writeFile('servers', JSON.stringify(servers));
  63. },
  64. onSteamLogOff = function onSteamLogOff(eresult) {
  65.     util.log("Logged off from Steam.");
  66. },
  67. onSteamError = function onSteamError(error) {
  68.     util.log("Connection closed by server.");
  69. };
  70.  
  71. steamUser.on('updateMachineAuth', function(sentry, callback) {
  72.     fs.writeFileSync('sentry', sentry.bytes)
  73.     util.log("sentryfile saved");
  74.  
  75.     callback({ sha_file: crypto.createHash('sha1').update(sentry.bytes).digest() });
  76. });
  77.  
  78. var logOnDetails = {
  79.     "account_name": global.config.steam_user,
  80.     "password": global.config.steam_pass,
  81. };
  82.  
  83. try {
  84.     var sentry = fs.readFileSync('sentry');
  85.     if (sentry.length) logOnDetails.sha_sentryfile = sentry;
  86. }
  87. catch (beef){
  88.     util.log("Cannot load the sentry. " + beef);
  89. }
  90.  
  91. steamClient.connect();
  92.  
  93. steamClient.on('connected', function() {
  94.     steamUser.logOn(logOnDetails);
  95. });
  96.  
  97. steamClient.on('logOnResponse', onSteamLogOn);
  98. steamClient.on('loggedOff', onSteamLogOff);
  99. steamClient.on('error', onSteamError);
  100. steamClient.on('servers', onSteamServers);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement