Advertisement
Guest User

Untitled

a guest
Jul 30th, 2016
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.47 KB | None | 0 0
  1. var steam = require("steam"),
  2. util = require("util"),
  3. fs = require("fs"),
  4. crypto = require("crypto"),
  5. dota2 = require("../"),
  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. // Load config
  12. global.config = require("./config");
  13.  
  14. /* Steam logic */
  15. var onSteamLogOn = function onSteamLogOn(logonResp) {
  16. if (logonResp.eresult == steam.EResult.OK) {
  17. steamFriends.setPersonaState(steam.EPersonaState.Busy); // to display your steamClient's status as "Online"
  18. steamFriends.setPersonaName(global.config.steam_name); // to change its nickname
  19. util.log('Logged on with id = '+Dota2.ToAccountID(Dota2._client.steamID));
  20. Dota2.launch();
  21. Dota2.on("ready", function() {
  22. console.log("Node-dota2 ready.");
  23. /* Note: Should not declare new event listeners nested inside of
  24. 'ready', else you could end up with duplicated handlers if 'ready'
  25. is fired multiple times. Exception is made within this test file
  26. for the same of keeping relevant samples together. */
  27.  
  28. Dota2.on("playerCardsData", function(result, response) {
  29. console.log(response);
  30. });
  31.  
  32. setTimeout(function() {
  33. Dota2.requestFantasyRoster(4664,1470150000, function(err, response){
  34. console.log(response.player_card_item_id[0]+"");
  35. Dota2.requestFantasyCards(Dota2.ToAccountID(Dota2._client.steamID), response.player_card_item_id);
  36. });
  37. }, 5000);
  38.  
  39. });
  40. Dota2.on("unready", function onUnready() {
  41. console.log("Node-dota2 unready.");
  42. });
  43. Dota2.on("unhandled", function(kMsg) {
  44. util.log("UNHANDLED MESSAGE " + dota2._getMessageName(kMsg));
  45. });
  46. // setTimeout(function(){ Dota2.exit(); }, 5000);
  47. }
  48. },
  49. onSteamServers = function onSteamServers(servers) {
  50. util.log("Received servers.");
  51. fs.writeFile('servers', JSON.stringify(servers));
  52. },
  53. onSteamLogOff = function onSteamLogOff(eresult) {
  54. util.log("Logged off from Steam.");
  55. },
  56. onSteamError = function onSteamError(error) {
  57. util.log("Connection closed by server.");
  58. };
  59.  
  60. steamUser.on('updateMachineAuth', function(sentry, callback) {
  61. var hashedSentry = crypto.createHash('sha1').update(sentry.bytes).digest();
  62. fs.writeFileSync('sentry', hashedSentry)
  63. util.log("sentryfile saved");
  64. callback({
  65. sha_file: hashedSentry
  66. });
  67. });
  68.  
  69.  
  70. // Login, only passing authCode if it exists
  71. var logOnDetails = {
  72. "account_name": global.config.steam_user,
  73. "password": global.config.steam_pass,
  74. };
  75. if (global.config.steam_guard_code) logOnDetails.auth_code = global.config.steam_guard_code;
  76.  
  77. try {
  78. var sentry = fs.readFileSync('sentry');
  79. if (sentry.length) logOnDetails.sha_sentryfile = sentry;
  80. } catch (beef) {
  81. util.log("Cannae load the sentry. " + beef);
  82. }
  83.  
  84. steamClient.connect();
  85. steamClient.on('connected', function() {
  86. steamUser.logOn(logOnDetails);
  87. });
  88. steamClient.on('logOnResponse', onSteamLogOn);
  89. steamClient.on('loggedOff', onSteamLogOff);
  90. steamClient.on('error', onSteamError);
  91. steamClient.on('servers', onSteamServers);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement