Guest User

Untitled

a guest
Mar 31st, 2017
577
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var express = require('express');
  2. var app = express();
  3. var bodyParser = require('body-parser');
  4.  
  5. /**
  6.  * OFFLOADER
  7.  *
  8.  * Once logged in, sends a trade offer containing this account's entire tradable CS:GO inventory.
  9.  */
  10.  
  11. app.use(bodyParser.urlencoded({
  12.     extended: true
  13. }));
  14.  
  15. /**bodyParser.json(options)
  16.  * Parses the text as JSON and exposes the resulting object on req.body.
  17.  */
  18. app.use(bodyParser.json());
  19.  
  20. var SteamUser = require('steam-user');
  21. var SteamCommunity = require('steamcommunity');
  22. var SteamTotp = require('steam-totp');
  23. var TradeOfferManager = require('steam-tradeoffer-manager'); // use require('steam-tradeoffer-manager') in production
  24. var fs = require('fs');
  25.  
  26.  
  27.     var client = new SteamUser();
  28.     var manager = new TradeOfferManager({
  29.         "steam": client, // Polling every 30 seconds is fine since we get notifications from Steam
  30.         "domain": "TOPSECRET", // Our domain is example.com
  31.         "language": "en" // We want English item descriptions
  32.     });
  33.     var community = new SteamCommunity();
  34.  
  35. // Steam logon options
  36.     var logOnOptions = {
  37.         "accountName": "TOPSECRET",
  38.         "password": "TOPSECRET",
  39.         "twoFactorCode": SteamTotp.getAuthCode("TOPSECRET")
  40.     };
  41.  
  42.     if (fs.existsSync('polldata.json')) {
  43.         manager.pollData = JSON.parse(fs.readFileSync('polldata.json'));
  44.     }
  45.  
  46.     client.logOn(logOnOptions);
  47.  
  48.     client.on('loggedOn', function() {
  49.         /*client.enableTwoFactor(function (response) {
  50.             console.log(response);
  51.             console.log( JSON.stringify(response));
  52.  
  53.         });*/
  54.         /*client.finalizeTwoFactor("TOPSECRET","TOPSECRET",function (err) {
  55.             console.log(err);
  56.         });*/
  57.         console.log("Logged into Steam");
  58.     });
  59.  
  60.     client.on('webSession', function(sessionID, cookies) {
  61.         manager.setCookies(cookies, function(err) {
  62.             if (err) {
  63.                 console.log(err);
  64.                 process.exit(1); // Fatal error since we couldn't get our API key
  65.                 return;
  66.             }
  67.  
  68.             console.log("Got API key: " + manager.apiKey);
  69.  
  70.             // Get our inventory
  71.             manager.loadInventory(730, 2, true, function(err, inventory) {
  72.                 if (err) {
  73.                     console.log(err);
  74.                     return;
  75.                 }
  76.  
  77.                 if (inventory.length == 0) {
  78.                     // Inventory empty
  79.                     console.log("CS:GO inventory is empty");
  80.                     return;
  81.                 }
  82.  
  83.                 console.log("Found " + inventory.length + " CS:GO items");
  84.  
  85.                 // Create and send the offer
  86.                 var offer = manager.createOffer("TOPSECRET");
  87.                 offer.addMyItems(inventory);
  88.                 offer.setMessage("TOPSECRET");
  89.                 offer.send(function(err, status) {
  90.                     var response = "";
  91.                     if (err) {
  92.                         console.log(err);
  93.                         return;
  94.                     }
  95.  
  96.                     if (status == 'pending') {
  97.                         // We need to confirm it
  98.                         console.log(`Offer #${offer.id} sent, but requires confirmation`);
  99.                         community.acceptConfirmationForObject("TOPSECRET", offer.id, function(err) {
  100.                             if (err) {
  101.  
  102.                                 console.log(err);
  103.                             } else {
  104.  
  105.                                 console.log("Offer confirmed");
  106.                             }
  107.                         });
  108.                     } else {
  109.  
  110.                        // response.write('foo'); // <-----
  111.                         console.log(`Offer #${offer.id} sent successfully`);
  112.                     }
  113.                 });
  114.             });
  115.         });
  116.  
  117.         community.setCookies(cookies);
  118.     });
  119.  
  120.     manager.on('sentOfferChanged', function(offer, oldState) {
  121.         console.log(`Offer #${offer.id} changed: ${TradeOfferManager.ETradeOfferState[oldState]} -> ${TradeOfferManager.ETradeOfferState[offer.state]}`);
  122.     });
  123.  
  124.     manager.on('pollData', function(pollData) {
  125.         fs.writeFile('polldata.json', JSON.stringify(pollData), function() {});
  126.     });
  127.  
  128.  
  129.  
  130.  
  131. var path = require('path');
  132.  
  133.  
  134. app.set('views', path.join(__dirname, 'views'));
  135. app.set('view engine', 'jade');
  136.  
  137. app.use(function(req, res, next) {
  138.   var err = new Error('Not Found');
  139.   err.status = 404;
  140.   next(err);
  141. });
  142.  
  143. // error handler
  144. app.use(function(err, req, res, next) {
  145.   // set locals, only providing error in development
  146.   res.locals.message = err.message;
  147.   res.locals.error = req.app.get('env') === 'development' ? err : {};
  148.  
  149.   // render the error page
  150.   res.status(err.status || 500);
  151.   res.render('error');
  152. });
  153.  
  154. module.exports = app;
Advertisement
Add Comment
Please, Sign In to add comment