Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * © by Denis 'QWER' Granec (Patchwerk)
- */
- var config = require('./steambot.config.js');
- var helper = require('./helper.js');
- var mysql = require('mysql');
- var fs = require('fs');
- var request = require('request');
- var crypto = require('crypto');
- var xss = require('xss');
- //var Q = require('q');
- var io = require('socket.io').listen(config.port);
- var SteamUser = require('steam-user');
- var SteamCommunity = require("steamcommunity");
- var SteamTotp = require('steam-totp');
- var offers = require('steam-tradeoffer-manager');
- var client = new SteamUser(); // steam-user
- var steam = new SteamCommunity({
- // request: proxifiedRequest
- });
- var manager = new offers({
- // "community": steam,
- "domain": config.sitename,
- "language": "en", // We want English item descriptions
- "pollInterval": 1000 // We want to poll every 2 seconds since we don't have Steam notifying us of offers
- });
- // Variables
- var g_userCount = 0; // online info
- var g_userItemsCount = []; // user items limit
- var g_currentGameItems = [];
- var g_players = [];
- var g_playersUnique = {};
- var g_uniquePlayers = [];
- var g_cache_userItemsCount = [];
- var g_cache_currentGameItems = [];
- var g_cache_players = [];
- var g_cache_playersUnique = {};
- var g_cache_uniquePlayers = [];
- var g_cache_totalPrice = 0;
- var g_itemPrice = [];
- var g_lastWinner = [];
- var g_timerID = -1;
- var winPer = Math.random().toFixed(2);
- var g_roundSecret = crypto.createHash('md5').update(makeid()).digest('hex');
- var g_roundHash = crypto.createHash('md5').update(g_roundSecret + "-" + winPer).digest('hex');
- var g_winnerID = 0;
- var g_gameID = 999;
- var g_totalPrice = 0;
- var g_stucked = 0;
- var g_Pause = false;
- // MySQL
- var connection = mysql.createConnection({
- host: config.dbInfo["host"],
- user: config.dbInfo["user"],
- password: config.dbInfo["password"],
- database: config.dbInfo["database"]
- });
- connection.connect(function(err) {
- if (err) {
- helper.msg('MySQL error connecting: ' + err.stack);
- return;
- }
- helper.msg('MySQL connected as id ' + connection.threadId);
- // helper.msg('MySQL connected currentGame ' + currentGame);
- });
- // Load files
- loadItemPrices();
- // Show last winner
- var lastgame = fs.readFileSync('_LastWinner.txt');
- g_lastWinner = JSON.parse(lastgame);
- console.log(g_lastWinner);
- g_gameID = g_lastWinner["game"] + 1;
- // Login Bots
- var logOnOptions = {
- "accountName": config.logOnOptions["accountName"],
- "password": config.logOnOptions["password"],
- "twoFactorCode": SteamTotp.generateAuthCode(config.logOnOptions['secret'])
- };
- client.logOn(logOnOptions);
- client.on('loggedOn', function() {
- console.log("Logged into Steam");
- client.setPersona(SteamUser.Steam.EPersonaState.Online);
- });
- manager.on('pollData', function(pollData) {
- fs.writeFile('polldata.json', JSON.stringify(pollData));
- });
- manager.on('receivedOfferChanged', function(offer, oldState) {
- console.log(`Offer #${offer.id} changed: ${offers.ETradeOfferState[oldState]} -> ${offers.ETradeOfferState[offer.state]}`);
- console.log(offer.data('name'));
- console.log(offer.data('tradelink'));
- console.log(offer.data('avatar'));
- console.log(offer.data('steamid'));
- if( typeof offer.data('steamid') == 'undefined'){
- return;
- }
- switch (offer.state) {
- case 2: // Active
- // offer.accept();
- break;
- case 3: // Accepted
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement