Advertisement
Guest User

Untitled

a guest
Aug 21st, 2016
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.86 KB | None | 0 0
  1. SteamUser = require 'steam-user'
  2. SteamTotp = require 'steam-totp'
  3. inquirer = require 'inquirer'
  4. jsonfile = require 'jsonfile'
  5. jsonfile.spaces = 2
  6.  
  7. try
  8. database = jsonfile.readFileSync 'database.json'
  9. catch e
  10. database = {}
  11. secret = null
  12.  
  13. promptGames =
  14. type: 'checkbox'
  15. name: 'games'
  16. message: 'Select the games to boost:'
  17. choices: [
  18. {value: 10, name: 'CS 1.6', checked: true}
  19. {value: 240, name: 'CS Source', checked: true}
  20. {value: 80, name: 'CS Condition Zero', checked: true}
  21. {value: 236390, name: 'WarThunder', checked: true}
  22. {value: 282660, name: 'EAC', checked: true}
  23. {value: 323370, name: 'TERA', checked: true}
  24. {value: 479130, name: 'ESEA', checked: true}
  25. {value: 319630, name: 'Life is Strange', checked: true}
  26. {value: 304050, name: 'Trove', checked: true}
  27. {value: 304930, name: 'Unturned', checked: true}
  28. {value: 373700, name: 'Lineage II', checked: true}
  29. {value: 291550, name: 'Brawhalla', checked: true}
  30. {value: 236390, name: 'WarThunder', checked: true}
  31. {value: 218620, name: 'Payday II', checked: true}
  32. {value: 295110, name: 'H1Z1: Just Survive', checked: true}
  33. {value: 433850, name: 'H1Z1: King of the Kill', checked: true}
  34. {value: 479130, name: 'Rocket League', checked: true}
  35. {value: 4000, name: 'Garrys Mod', checked: true}
  36. {value: 291550, name: 'Brawhalla', checked: true}
  37. {value: 236390, name: 'WarThunder', checked: true}
  38. {value: 570, name: 'Dota2', checked: true}
  39. {value: 440, name: 'TF2', checked: true}
  40. {value: 113400, name: 'APB', checked: true}
  41.  
  42.  
  43.  
  44.  
  45. ]
  46.  
  47. inquirer.prompt [
  48. {name: 'username', message: 'Username:'}
  49. {name: 'password', message: 'Password:', type: 'password'}
  50. ]
  51. .then ({username, password}) ->
  52. database[username] = {}
  53. client = new SteamUser
  54. client.setOption 'promptSteamGuardCode', false
  55. client.setOption 'dataDirectory', null
  56. client.logOn
  57. accountName: username,
  58. password: password,
  59.  
  60. client.on 'steamGuard', (domain, callback) ->
  61. if domain
  62. inquirer.prompt [name: 'code', message: "Steam guard code (#{domain}):"]
  63. .then ({code}) -> callback code
  64. else
  65. inquirer.prompt [name: 'secret', message: 'Two-factor shared secret:']
  66. .then ({secret}) ->
  67. SteamTotp.generateAuthCode secret, (err, code) ->
  68. database[username].secret = secret
  69. callback code
  70.  
  71. client.on 'sentry', (sentry) ->
  72. database[username].sentry = sentry.toString('base64')
  73. jsonfile.writeFileSync 'database.json', database
  74.  
  75. client.on 'loggedOn', (details) ->
  76. database[username].password = password
  77. inquirer.prompt promptGames
  78. .then ({games}) ->
  79. database[username].games = games
  80. jsonfile.writeFileSync 'database.json', database
  81. process.exit 0
  82.  
  83. client.on 'error', (err) ->
  84. console.log "Error: #{err}"
  85. process.exit 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement