Advertisement
Guest User

Untitled

a guest
Dec 22nd, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.29 KB | None | 0 0
  1. const SteamUser = require('steam-user'),
  2. config = require('./config'),
  3. SteamTotp= require('steam-totp'),
  4. fs = require('fs');
  5.  
  6. let accounts = [];
  7. let friends = [];
  8.  
  9. let accIdx = 0;
  10. let friendIdx = 0;
  11.  
  12. let interval;
  13.  
  14. let client = new SteamUser();
  15.  
  16. const messages = () => {
  17.  
  18. const logOn = account => {
  19. if( accIdx >= accounts.length ) {
  20. console.log(`Accounts ended`)
  21. client.logOff();
  22. client = new SteamUser();
  23. clearTimeout(interval);
  24. } else {
  25. return new Promise( (resolve, reject) => {
  26. console.log(`Login as account ${account.login} #${accIdx + 1} from #${accounts.length}`)
  27. client.logOn({
  28. accountName: account.login,
  29. password: account.password,
  30. twoFactorCode: SteamTotp.getAuthCode(account.sharedSecret)
  31. });
  32.  
  33. client.on("loggedOn", (details, parental) => {
  34. client.getPersonas([client.steamID], (personas) => {
  35. console.log(`## Logged in as ${ personas[client.steamID].player_name }`);
  36. friends = [];
  37. for( friend in client.myFriends ) {
  38. if( client.myFriends[friend] == 3 ) {
  39. friends.push(friend);
  40. }
  41. }
  42. console.log(`On this account ${ friends.length } friends`);
  43. resolve([]);
  44. });
  45. });
  46.  
  47. client.on('error', err => {
  48. if( err ) {
  49. if( err == 'Error: InvalidPassword' ) {
  50. console.log('InvalidPassword');
  51. client.logOff();
  52. client = new SteamUser();
  53. accIdx ++;
  54. logOn(accounts[accIdx]).then( () => {
  55. sendMessage();
  56. })
  57. } else {
  58. console.log(`${err}`);
  59. client.logOff();
  60. client = new SteamUser();
  61. accIdx ++;
  62. sendMessage();
  63. }
  64. }
  65. })
  66.  
  67. })
  68. }
  69. }
  70.  
  71. let sendMessage = () => {
  72. new Promise( (resolve, reject) => {
  73. if( friends.length > 0 ) {
  74. console.log(`Send Message to https://steamcommunity.com/profiles/${friends[friendIdx]}`);
  75. client.chatMessage(friends[friendIdx], config.message);
  76. resolve(0);
  77. } else {
  78. resolve(1);
  79. }
  80. }).then( state => {
  81. interval = setTimeout( () => {
  82. if( state || friendIdx == friends.length - 1 ) {
  83. client.logOff();
  84. client = new SteamUser();
  85. accIdx ++;
  86. friendIdx = 0;
  87. logOn(accounts[accIdx]).then( () => {
  88. sendMessage();
  89. })
  90. } else {
  91. friendIdx ++;
  92. sendMessage();
  93. }
  94. }, config.interval * 1000)
  95. })
  96. }
  97.  
  98.  
  99. if( accounts.length > 0 ) {
  100. console.log(`Accounts Loaded: ${accounts.length}`);
  101. logOn(accounts[accIdx]).then( () => {
  102. sendMessage();
  103. })
  104. } else {
  105. console.log('Import Accounts !');
  106. }
  107.  
  108. }
  109.  
  110. fs.readFile('./data/accounts.txt', 'utf8', (err, data) => {
  111. if( !err ) {
  112. data.split(/\r?\n| /).map( (log) => {
  113. let data = log.split(':');
  114. if( log !== '' ) {
  115. accounts.push({
  116. login: data[0],
  117. password: data[1],
  118. sharedSecret: data[2]
  119. })
  120. }
  121. })
  122. }
  123.  
  124. messages();
  125. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement