Advertisement
Guest User

Untitled

a guest
Jun 13th, 2016
150
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 = 'XXXXXXXXXXXXXX';
  17. var identity_secret = 'notAcceptingShit';
  18.  
  19. var timekey = Math.round(Date.now() / 1000);
  20. var code = SteamTotp.generateAuthCode(shared_secret);
  21.  
  22. var logOnOptions = {
  23.     accountName: 'XXXXXXXXXXXXX',
  24.     password: 'XXXXXXXXXXX',
  25.     twoFactorCode: code
  26. };
  27.  
  28. var push = new Pushover({
  29.     token: "XXXXXXXXXXXX",
  30.     user: "XXXXXXXXXXX"
  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.     manager.setCookies(cookies, function(err) {
  40.         if(err) {
  41.             console.log(err);
  42.             process.exit(1);
  43.             return;
  44.         }
  45.  
  46.         console.log("Got API key for bot: " + manager.apiKey);
  47.        
  48.         community.setCookies(cookies);
  49.         var identity_hashed = identity_secret.toString('base64');
  50.        
  51.         var poll_interval = setInterval( function() {
  52.             manager.doPoll();
  53.         }, 1000);
  54.     });
  55. });
  56.  
  57. setInterval( function() {
  58.     client.webLogOn();
  59. }, 1000*60*10);
  60.  
  61. manager.on('pollData', function(pollData) {
  62.     fs.writeFile('polldata.json', JSON.stringify(pollData));
  63. });
  64.  
  65. manager.on('newOffer', function(offer) {
  66.     var steamID = offer.partner.getSteamID64();
  67.    
  68.     console.log("Received new offer from " + steamID);
  69.     offer.getEscrowDuration(function(_err, daysTheirEscrow, daysMyEscrow) {
  70.         if (daysTheirEscrow != 0 || daysMyEscrow != 0 || _err)
  71.         {
  72.             offer.decline( function() {
  73.                 console.log('Declined cause escrow - ' + user.id + ' - ' + daysTheirEscrow + ' - ' + daysMyEscrow);
  74.             });
  75.             console.log(_err);
  76.         }
  77.         else
  78.         {
  79.             if (!offer.itemsToGive.length || steamID == "76561198046273125")
  80.             {
  81.                 console.log("Accepting offer from " + steamID);
  82.                 console.log("Sending notification!");
  83.                 var newItemsReceive = [];
  84.                 offer.itemsToReceive.forEach(item => newItemsReceive.push(item.market_hash_name));
  85.                 push.send("CrashBot accepted!", offer.message + "\nItem: " + newItemsReceive + "!");
  86.                 offer.accept();
  87.             }
  88.             else
  89.             {
  90.                 var newItems = [];
  91.                 offer.itemsToReceive.forEach(item => newItems.push(item.market_hash_name));
  92.                 var newItemsReceive = [];
  93.                 offer.itemsToReceive.forEach(item => newItemsReceive.push(item.market_hash_name));
  94.                 var newItemsGive = [];
  95.                 offer.itemsToGive.forEach(item => newItemsGive.push(item.market_hash_name));
  96.                 push.send("New offer!", "Give: " + newItemsGive + "! " + "Receive: " + newItemsReceive + "!");
  97.                 console.log("Ignoring an offer from " + steamID);
  98.                 console.log("Give: " + newItemsGive);
  99.                 console.log("Receive: " + newItemsReceive);
  100.             }
  101.         }
  102.     });
  103. });
  104.  
  105. community.on('confKeyNeeded', function(tag, callback) {
  106.     var time = Math.floor(Date.now() / 1000);
  107.     console.log('Conf Key Needed');
  108.     callback(null, time, SteamTotp.generateAuthCode(shared_secret, time, tag));
  109. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement