Advertisement
Guest User

Untitled

a guest
Oct 8th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.08 KB | None | 0 0
  1. const Crypto = require( 'crypto' );
  2. const Steam = require( 'steam' );
  3. const SteamTotp = require( 'steam-totp' );
  4. const SteamWebLogon = require( 'steam-weblogon' );
  5. const SteamCommunity = require( 'steamcommunity' );
  6. const TradeOfferManager = require( 'steam-tradeoffer-manager' );
  7.  
  8. const client = new Steam.SteamClient();
  9. const user = new Steam.SteamUser( client );
  10. const webLogon = new SteamWebLogon( client, user );
  11. const community = new SteamCommunity();
  12. const manager = new TradeOfferManager( {
  13. steam: client,
  14. community: community,
  15. language: 'en',
  16. cancelTime: 150000
  17. } );
  18.  
  19. const loginOpt = {
  20. account_name: config.steam.accountName,
  21. password: config.steam.password,
  22. two_factor_code: SteamTotp.generateAuthCode( config.steam.shared_secret )
  23. };
  24.  
  25. //var reconnect = false;
  26. var reconnectTimer;
  27.  
  28. client.connect();
  29.  
  30. client.on( 'connected', function() {
  31. //console.log( 'connected' );
  32. user.logOn( loginOpt );
  33. } );
  34.  
  35. client.on( 'error', function( err ) {
  36. //if( reconnect ) {
  37. if( err.toString().indexOf( 'Error: Disconnected' ) > -1 ) {
  38. //reconnect = false;
  39. loggerMess( 'Потеря соединения со Steam. Переподключение... (60сек)', 'info' );
  40. reconnectTimer = setTimeout( function() {
  41. client.connect();
  42. }, 60000 );
  43. //console.log( 'Error: Disconnected' );
  44. } else loggerMess( err, 'error' );
  45. //}
  46. } );
  47.  
  48. client.on( 'logOnResponse', function( res ) {
  49. //console.log( 'logOnResponse: ' + res );
  50. if( res.eresult === Steam.EResult.OK ) {
  51. loggerMess( 'Авторизация Steam прошла успешно!', 'good' );
  52. webLogon.webLogOn( function( sessionID, cookies ) {
  53. manager.setCookies( cookies );
  54. community.setCookies( cookies );
  55. community.startConfirmationChecker( config.steam.refreshInterval, config.steam.identity_secret );
  56. } );
  57.  
  58. //reconnect = true;
  59. if( reconnectTimer ) clearTimeout( reconnectTimer );
  60. }
  61. } );
  62.  
  63. community.on( 'sessionExpired', function( error ) {
  64. //if( error ) loggerMess( error, 'error' );
  65. //if( reconnect ) {
  66. //reconnect = false;
  67. loggerMess( 'Завершение сессии. Переподключение... (60сек)', 'info' );
  68. reconnectTimer = setTimeout( function() {
  69. client.connect();
  70. }, 60000 );
  71. //console.log( 'sessionExpired' );
  72. //}
  73. });
  74.  
  75. user.on( 'updateMachineAuth', function( sentry, callback ) {
  76. fs.writeFile( 'sentry', sentry.bytes );
  77. callback( { sha_file: getSHA1( sentry.bytes ) } );
  78. } );
  79.  
  80. manager.on( 'newOffer', function( offer ) {
  81. ...
  82. } );
  83.  
  84. function getSHA1( bytes ) {
  85. var shasum = Crypto.createHash( 'sha1' );
  86. shasum.end( bytes );
  87. return shasum.read();
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement