Advertisement
Guest User

Untitled

a guest
Sep 15th, 2016
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.05 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: 730, name: 'CS:GO', checked: true}
  19. {value: 304930, name: 'Brawahalla'}
  20. {value: 230410, name: 'Warframe'}
  21. {value: 304930, name: 'Unturned'}
  22. {value: 238960, name: 'Path of Exile'}
  23. {value: 386360, name: 'SMITE'}
  24. {value: 363970, name: 'Clicker Heroes'}
  25. {value: 236390, name: 'War Thunder'}
  26. {value: 227940, name: 'Heroes & Generals'}
  27. {value: 346900, name: 'AdVenture Capitalist'}
  28. {value: 570, name: 'DOTA2'}
  29. ]
  30.  
  31. inquirer.prompt [
  32. {name: 'username', message: 'Username:'}
  33. {name: 'password', message: 'Password:', type: 'password'}
  34. ]
  35. .then ({username, password}) ->
  36. database[username] = {}
  37. client = new SteamUser
  38. client.setOption 'promptSteamGuardCode', false
  39. client.setOption 'dataDirectory', null
  40. client.logOn
  41. accountName: username,
  42. password: password,
  43.  
  44. client.on 'steamGuard', (domain, callback) ->
  45. if domain
  46. inquirer.prompt [name: 'code', message: "Steam guard code (#{domain}):"]
  47. .then ({code}) -> callback code
  48. else
  49. inquirer.prompt [name: 'secret', message: 'Two-factor shared secret:']
  50. .then ({secret}) ->
  51. SteamTotp.generateAuthCode secret, (err, code) ->
  52. database[username].secret = secret
  53. callback code
  54.  
  55. client.on 'sentry', (sentry) ->
  56. database[username].sentry = sentry.toString('base64')
  57. jsonfile.writeFileSync 'database.json', database
  58.  
  59. client.on 'loggedOn', (details) ->
  60. database[username].password = password
  61. inquirer.prompt promptGames
  62. .then ({games}) ->
  63. database[username].games = games
  64. jsonfile.writeFileSync 'database.json', database
  65. process.exit 0
  66.  
  67. client.on 'error', (err) ->
  68. console.log "Error: #{err}"
  69. process.exit 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement