Advertisement
Guest User

Untitled

a guest
Jun 17th, 2016
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var Pushover = require('node-pushover');
  2. var fs =                require('fs');
  3. var util =              require('util');
  4. var SteamUser =         require('steam-user');
  5. var TradeOfferManager = require('steam-tradeoffer-manager');
  6. var SteamCommunity =    require('steamcommunity');
  7. var SteamTotp =         require('steam-totp');
  8. var community =         new SteamCommunity();
  9. var client =            new SteamUser();
  10. var manager =           new TradeOfferManager({
  11.     "steam": client,
  12.     "domain": "localhost",
  13.     "language": "en",
  14. });
  15. var ConfirmationChecker = false;
  16. var shared_secret = 'x';
  17. var identity_secret = 'x';
  18.  
  19. var timekey = Math.round(Date.now() / 1000);
  20. var code = SteamTotp.generateAuthCode(shared_secret);
  21.  
  22. var logOnOptions = {
  23.     accountName: 'x',
  24.     password: 'x',
  25.     twoFactorCode: code
  26. };
  27.  
  28. var push = new Pushover({
  29.     token: "x",
  30.     user: "x"
  31. });
  32.  
  33. client.logOn(logOnOptions);
  34. client.on('loggedOn', function(details) {
  35.     console.log("Bot connected to Steam!");
  36. });
  37.  
  38. client.on('webSession', function(sessionID, cookies) {
  39.  
  40.     setInterval( function() {
  41.         client.webLogOn();
  42.     }, 1000*60*5);
  43.  
  44.  
  45.  
  46.     manager.setCookies(cookies, function(err) {
  47.         if(err) {
  48.             console.log(err);
  49.             process.exit(1);
  50.             return;
  51.         }
  52.  
  53.         console.log("Got API key for bot: " + manager.apiKey);
  54.        
  55.         community.setCookies(cookies);
  56.         var identity_hashed = identity_secret.toString('base64');
  57.        
  58.         var poll_interval = setInterval( function() {
  59.             manager.doPoll();
  60.         }, 1000);
  61.     });
  62. });
  63.  
  64. manager.on('pollData', function(pollData) {
  65.     fs.writeFile('polldata.json', JSON.stringify(pollData));
  66. });
  67.  
  68. manager.on('newOffer', function(offer) {
  69.     var steamID = offer.partner.getSteamID64();
  70.    
  71.     console.log("Received new offer from " + steamID);
  72.     offer.getEscrowDuration(function(_err, daysTheirEscrow, daysMyEscrow) {
  73.         if (daysTheirEscrow != 0 || daysMyEscrow != 0 || _err)
  74.         {
  75.             offer.decline( function() {
  76.                 console.log('Declined cause escrow - ' + steamID + ' - ' + daysTheirEscrow + ' - ' + daysMyEscrow);
  77.                 push.send("CrashBot declined!", "Error! Error! Error!\n" + offer.message + "\nError! Error! Error!");
  78.             });
  79.             console.log(_err);
  80.         }
  81.         else
  82.         {
  83.             if (!offer.itemsToGive.length || steamID == "76561198046273125")
  84.             {
  85.                 console.log("Accepting offer from " + steamID);
  86.                 console.log("Sending notification!");
  87.                 var newItemsReceive = [];
  88.                 offer.itemsToReceive.forEach(item => newItemsReceive.push(item.market_hash_name));
  89.                 push.send("CrashBot accepted!", offer.message + "\nItem: " + newItemsReceive[0] + " [" + newItemsReceive.length + "]");
  90.                 offer.accept();
  91.             }
  92.             else
  93.             {
  94.                 var newItems = [];
  95.                 offer.itemsToReceive.forEach(item => newItems.push(item.market_hash_name));
  96.                 var newItemsReceive = [];
  97.                 offer.itemsToReceive.forEach(item => newItemsReceive.push(item.market_hash_name));
  98.                 var newItemsGive = [];
  99.                 offer.itemsToGive.forEach(item => newItemsGive.push(item.market_hash_name));
  100.                 push.send("New offer!", "Give: " + newItemsGive + "! " + "Receive: " + newItemsReceive + "!");
  101.                 console.log("Ignoring an offer from " + steamID);
  102.                 console.log("Give: " + newItemsGive);
  103.                 console.log("Receive: " + newItemsReceive);
  104.             }
  105.         }
  106.     });
  107. });
  108.  
  109. community.on('confKeyNeeded', function(tag, callback) {
  110.     var time = Math.floor(Date.now() / 1000);
  111.     console.log('Conf Key Needed');
  112.     callback(null, time, SteamTotp.generateAuthCode(shared_secret, time, tag));
  113. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement