Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const ADD = 0;
- var stock = 0;
- var config;
- try {
- config = JSON.parse(fs.readFileSync('./config.json'));
- } catch (err) {
- log("Error: unable to parse config.json.");
- log("Error details: " + err.message);
- process.exit(1);
- }
- var d = config.debugEnabled;
- var block_io = new BlockIo(config.blockIOAPIKey, config.blockIOsecretPIN, 2);
- log("Logged into block.io wallet.")
- var acceptedCSKeys = ["CS:GO Case Key", "Winter Offensive Case Key", "Operation Phoenix Case Key", "Huntsman Case Key", "eSports Key", "Operation Breakout Case Key", "Operation Vanguard Case Key", "Chroma Case Key", "Chroma 2 Case Key", "Falchion Case Key", "Shadow Case Key", "Revolver Case Key"];
- var currentTransaction;
- var lt = Date.now();
- var ticker;
- var doStock = false;
- block_io.get_current_price({
- 'price_base': 'USD'
- }, (err, data) => {
- if (!data || data.data.error_message) {
- ticker = 375.31;
- } else {
- ticker = Number(data.data.prices[0].price);
- }
- });
- process.stdin.setEncoding('utf8');
- var commands = {
- "UNKNOWN_COMMAND": function() {
- return "Unknown command. Type `help` for help.";
- },
- "stop": function() {
- log("Stopping bot...");
- if (currentTransaction) {
- log("WARNING: not stopping because there is a transaction in process!");
- log("To force stop bot, type `forcestop` (WARNING: NOT GOOD UNLESS YOU ARE TESTING! DO NOT DO THIS IN STANDARD USE IF YOU DON'T KNOW WHAT YOU ARE DOING!)");
- } else {
- steam.chatLogoff();
- process.exit(0);
- }
- return "Bot successfully stopped, but if it actually did this message shouldn't show up.";
- },
- "help": function() {
- return "Command List:\nhelp - shows this menu\nstop - stops the bot\nforcestop - force-stops the bot\ningame - sets bot ingame";
- },
- "ingame": function() {
- user.gamesPlayed("Keys For BTC | Buy: " + config.keySalePrice + " Sell: " + config.keyBuyPrice);
- return "Entering non-steam game.";
- },
- "stock": function() {
- updateStock();
- setTimeout(function() {
- user.gamesPlayed("Selling " + stock + " keys @ $" + config.keySalePrice + "");
- log("Entering non-Steam game.");
- }, 2000);
- doStock = true;
- return "Please wait while I update stock...";
- },
- "forcestop": function() {
- log("Forcing bot to stop!");
- steam.chatLogoff();
- process.exit();
- }
- };
- var logOnOptions = {
- 'accountName': config.username,
- 'password': config.password
- };
- var authCode = totp.generateAuthCode(config.sharedsecret);
- if (config.manualAuthCode !== "") {
- authCode = config.manualAuthCode;
- }
- if (fs.existsSync('steamguard.txt')) {
- logOnOptions.steamguard = fs.readFileSync('steamguard.txt').toString('utf8');
- logOnOptions.twoFactorCode = authCode;
- } else if (authCode) {
- logOnOptions.twoFactorCode = authCode;
- }
- steam.login(logOnOptions, function(err, sessionID, cookies, steamguard) {
- if (err) { //error handling
- log("Steam login falied. Error: " + err.message);
- process.exit(1);
- }
- fs.writeFile('steamguard.txt', steamguard); //creates sentry
- log("Logged into Steam as " + logOnOptions.accountName);
- manager.setCookies(cookies, function(err) {
- if (err) {
- log(err);
- process.exit(1); // Fatal error since we couldn't get our API key
- return;
- }
- });
- steam.chatLogon();
- if (config.identitysecret) {
- steam.startConfirmationChecker(10000);
- }
- setTimeout(function() {
- log("Logging in using fake steam client.");
- user.logOn({
- 'accountName': config.username,
- 'password': config.password,
- 'twoFactorCode': totp.generateAuthCode(config.sharedsecret)
- });
- }, 30000);
- });
- user.on('loggedOn', function() {
- log("Logged into Steam for friends list acceptor.");
- process.stdin.resume();
- log("Commands are now enabled.");
- process.stdin.on('data', (text) => {
- while (text.indexOf('\n') !== -1 || text.indexOf('\r') !== -1 || text.indexOf(' ') !== -1) {
- text = text.replace(/\n|\r|\t/, '').replace(/ /, ' ');
- }
- var args = text.split(' ');
- //call a function with args. Maybe make a function list or something?
- var command = args[0].toLowerCase();
- var trip = false;
- for (var key in commands) {
- if (key === command) {
- trip = true;
- stuff = commands[key](args[1], args[2], args[3]);
- if (Array.isArray(stuff)) {
- stuff.forEach(console.log);
- } else {
- console.log(stuff);
- }
- }
- }
- if (!trip) {
- stuff = commands.UNKNOWN_COMMAND();
- if (Array.isArray(stuff)) {
- for (var i = 0; i < stuff.length; i++) {
- console.log(stuff[i]);
- }
- } else {
- console.log(stuff);
- }
- }
- });
- user.setPersona(1);
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement