Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var fs = require('fs');
- var project_path = process.cwd();
- var express = require('express');
- var SteamCommunity = require('steamcommunity');
- var SteamUser = require('steam-user');
- var credentials = require(project_path + '/login/credentials.js' );
- var managerFactory = require(project_path + '/manager/manager.js' );
- var trade_offer_states = require('steam-tradeoffer-manager').ETradeOfferState;
- var request = require('request');
- var app_settings = require(project_path + '/app_settings.js');
- var manager = managerFactory.create();
- var client = new SteamUser;
- var steam = new SteamCommunity();
- var community = steam; // alias
- var app = express();
- app.listen(app_settings.port, function () {
- console.log('App is running on ' + app_settings.port);
- });
- var logOnOptions = credentials.getDefault();
- client.logOn(logOnOptions);
- client.on('webSession', function(sessionID, cookies) {
- console.log('webSession');
- community.setCookies(cookies);
- manager.setCookies(cookies);
- community.startConfirmationChecker('10000', app_settings.identity_secret);
- });
- client.on('disconnected', function(){
- console.log('disconnected');
- setTimeout(function(){
- console.log(client);
- if (client.steamID) {
- client.webLogOn();
- } else {
- var logOnOptions = credentials.getDefault();
- client.logOn(logOnOptions);
- }
- }, 10000);
- });
- community.on('sessionExpired', function(err) {
- if(err) {
- console.log(err);
- }
- console.log('sessionExpired');
- setTimeout(function() {
- client.webLogOn();
- }, 15000);
- });
- if(fs.existsSync('polldata.json')) {
- manager.pollData = JSON.parse(fs.readFileSync('polldata.json'));
- }
- manager.on('pollData', function(pollData) {
- fs.writeFile('polldata.json', JSON.stringify(pollData));
- });
- app.set('app_settings', app_settings);
- app.set('offer_manager', manager);
- app.set('community', steam);
- app.set('user', client);
- /* MODULES */
- var inventory_route = require('./routes/inventory');
- var auth_code_route = require('./routes/auth_code');
- var create_offer_route = require('./routes/create_offer');
- var check_escrow_route = require('./routes/check_escrow');
- /* ROUTES */
- app.use('/get_inventory_by_steamid', inventory_route);
- app.use('/get_auth_code', auth_code_route);
- app.use('/create_offer', create_offer_route);
- app.use('/check_escrow', check_escrow_route);
- app.use('/', function(req, res){
- res.json({
- 'success': 1,
- 'status': 'Online',
- 'status_code': 200
- });
- });
- /* HANDLERS */
- manager.on('sentOfferChanged', function(offer, oldState) {
- if(offer.state != oldState){
- if(offer.state == trade_offer_states.Accepted){
- var data = {
- offer_id: offer.id,
- state: offer.state,
- query_token: app_settings.query_token
- };
- request.post(
- app_settings.callback_url,
- { form: data },
- function (error, response, body) {
- if (!error && response.statusCode == 200) {
- console.log("accepted tradeoffer")
- }
- }
- );
- }
- }
- });
- manager.on('newOffer', function(offer) {
- if(!offer.isOurOffer){
- offer.cancel(function(err){
- console.log(err);
- })
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement