Advertisement
Guest User

Untitled

a guest
Jul 18th, 2015
1,540
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.20 KB | None | 0 0
  1. var fs = require('fs');
  2. var crypto = require('crypto');
  3.  
  4. var Steam = require('steam');
  5. var SteamWebLogOn = require('steam-weblogon');
  6. var getSteamAPIKey = require('steam-web-api-key');
  7. var SteamTradeOffers = require('../'); // change to 'steam-tradeoffers' if not running from the examples subdirectory
  8.  
  9. var admin = ''; // put your steamid here so the bot can send you trade offers
  10.  
  11. var logOnOptions = {
  12. account_name: '',
  13. password: '',
  14. auth_code: ''
  15. };
  16.  
  17. //var authCode = ''; // code received by email
  18.  
  19. try {
  20. logOnOptions['sha_sentryfile'] = getSHA1(fs.readFileSync('sentry'));
  21. } catch (e) {
  22. if (authCode != '') {
  23. logOnOptions['auth_code'] = authCode;
  24. }
  25. }
  26.  
  27. // if we've saved a server list, use it
  28. if (fs.existsSync('servers')) {
  29. Steam.servers = JSON.parse(fs.readFileSync('servers'));
  30. }
  31.  
  32. var steamClient = new Steam.SteamClient();
  33. var steamUser = new Steam.SteamUser(steamClient);
  34. var steamFriends = new Steam.SteamFriends(steamClient);
  35. var steamWebLogOn = new SteamWebLogOn(steamClient, steamUser);
  36. var offers = new SteamTradeOffers();
  37.  
  38. steamClient.connect();
  39. steamClient.on('connected', function() {
  40. steamUser.logOn(logOnOptions);
  41. });
  42.  
  43. steamClient.on('logOnResponse', function(logonResp) {
  44. if (logonResp.eresult == Steam.EResult.OK) {
  45. console.log('Logged in!');
  46. steamFriends.setPersonaState(Steam.EPersonaState.Online);
  47.  
  48. steamWebLogOn.webLogOn(function(sessionID, newCookie){
  49. getSteamAPIKey({
  50. sessionID: sessionID,
  51. webCookie: newCookie
  52. }, function(err, APIKey) {
  53. offers.setup({
  54. sessionID: sessionID,
  55. webCookie: newCookie,
  56. APIKey: APIKey
  57. }, function() {
  58. offers.loadMyInventory({
  59. appId: 730,
  60. contextId: 2
  61. }, function(err, items) {
  62. var item;
  63. // picking first tradable item
  64. for (var i = 0; i < items.length; i++) {
  65. if (items[i].tradable) {
  66. item = items[i];
  67. break;
  68. }
  69. }
  70. // if there is such an item, making an offer with it
  71. if (item) {
  72. offers.makeOffer ({
  73. partnerSteamId: admin,
  74. itemsFromMe: [
  75. {
  76. appid: 730,
  77. contextid: 2,
  78. amount: 1,
  79. assetid: item.id
  80. }
  81. ],
  82. itemsFromThem: [],
  83. message: 'CSGOClutch | Testing bot and trading'
  84. }, function(err, response){
  85. if (err) {
  86. throw err;
  87. }
  88. offers.acceptOffer({tradeOfferId: response['tradeofferid']});
  89. });
  90. }
  91. });
  92. });
  93. });
  94. });
  95. }
  96. });
  97.  
  98. steamClient.on('servers', function(servers) {
  99. fs.writeFile('servers', JSON.stringify(servers));
  100. });
  101.  
  102. steamUser.on('updateMachineAuth', function(sentry, callback) {
  103. fs.writeFileSync('sentry', sentry.bytes);
  104. callback({ sha_file: getSHA1(sentry.bytes) });
  105. });
  106.  
  107. function getSHA1(bytes) {
  108. var shasum = crypto.createHash('sha1');
  109. shasum.end(bytes);
  110. return shasum.read();
  111. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement