Jump to content
McKay Development

Meow

Member
  • Posts

    20
  • Joined

  • Last visited

Posts posted by Meow

  1. whenever i try to start my bot with node.js i get these following errors. also i've listed my bot script at last. earlier i everything was fine when i was using Debian 7, now i've newly moved to google cloud platform and Linux 14, im kinda newbie. plz be little more specific.

    /node_modules/steamcommunity/node_modules/request/node_modules/hawk/node_modules/boom/lib/index.js:5
    const Hoek = require('hoek');
    ^^^^^
    SyntaxError: Use of const in strict mode.
    at exports.runInThisContext (vm.js:73:16)
    at Module._compile (module.js:443:25)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object. (/home/Bot/node_modules/steamcommunity/node_modules/request/node_modules/hawk/lib/index.js:5:33)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)

    after upgrading node to v8 i get this error

    Bot/node_modules/log4js/lib/configuration.js:44
    throw new Error(
    ^

    Error: Problem with log4js configuration: ({ appenders:
    [ { type: 'console' },
    { type: 'file', filename: 'logs/bot_undefined.log' } ] }) - must have a property "appenders" of type object.
    at tests.forEach (/home/Bot/node_modules/log4js/lib/configuration.js:44:15)
    at Array.forEach ()
    at Configuration.throwExceptionIf (/home/Bot/node_modules/log4js/lib/configuration.js:42:11)
    at new Configuration (/home/Bot/node_modules/log4js/lib/configuration.js:205:10)
    at Object.configure (/home/Bot/node_modules/log4js/lib/log4js.js:201:12)
    at Object. (/home/Bot/bot.js:18:8)
    at Module._compile (module.js:624:30)
    at Object.Module._extensions..js (module.js:635:10)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)

    after doing little changes, i get this now.

    /home/Bot$ node bot.js
    /home/Bot/bot.js:23
    categories: {
    ^^^^^^^^^^

    SyntaxError: Unexpected identifier
    at createScript (vm.js:80:10)
    at Object.runInThisContext (vm.js:139:10)
    at Module._compile (module.js:588:28)
    at Object.Module._extensions..js (module.js:635:10)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)
    at Function.Module._load (module.js:500:3)
    at Function.Module.runMain (module.js:665:10)
    at startup (bootstrap_node.js:187:16)
    at bootstrap_node.js:607:3

    And here is my bot script

    var SteamCommunity = require('steamcommunity');
    var SteamTotp = require('steam-totp');
    var mysql = require('mysql');
    var log4js = require('log4js');
    var SteamTradeOffers = require('steam-tradeoffers');
    var async = require('async');

    var pool = mysql.createPool({
    connectionLimit : 10,
    database: 'csgo',
    host: 'localhost',
    user: 'root',
    password: 'Tome'
    });

    var community = new SteamCommunity();
    var offers = new SteamTradeOffers();
    log4js.configure({
    appenders: [
    { type: 'console' },
    { type: 'file', filename: 'logs/bot_'+process.argv[2]+'.log' }
    ]
    });
    var logger = log4js.getLogger();

    var express = require('express');
    var app = express();

    app.get('/sendTrade/', function (req, res) {
    var assetids = req.query['assetids'];
    assetids = assetids.split(',');
    var partner = req.query['partner'];
    var token = req.query['token'];
    var checksum = req.query['checksum'];
    var steamid = req.query['steamid'];
    var senditems = [];

    for (var i = 0; i < assetids.length; i++) {
    if (assetids == "") continue;
    senditems.push({
    appid: 730,
    contextid: 2,
    assetid: assetids
    });
    }
    var code = makecode();
    console.log(partner, token, checksum, assetids, senditems);
    if ( assetids.length == 0){
    logger.error('Error sending trade');
    res.json({
    success: false,
    error: "Invalid assetid length."
    });
    }else if ((token == undefined) || (token == '')) {
    logger.error('Error sending trade');
    res.json({
    success: false,
    error: "Missing Trade token."
    });
    } else {
    offers.makeOffer({
    partnerAccountId: partner,
    accessToken: token,
    itemsFromThem: senditems,
    itemsFromMe: [],
    message: 'Code: ' + code
    }, function (err, r) {
    if (err) {
    logger.error('Error sending trade');
    logger.debug(err);
    res.json({
    success: false,
    error: err.toString()
    });
    } else {
    offers.loadPartnerInventory({
    partnerSteamId: steamid,
    tradeOfferId: r.tradeofferid,
    appId: 730,
    contextId: 2,
    language: 'russian'
    }, function (err, rr) {
    if (err) {
    logger.debug(err);
    res.json({
    success: false,
    error: err.toString()
    });
    } else {
    var names = [];
    for (var i = 0; i < senditems.length; i++) {
    for (var a = 0; a < rr.length; a++) {
    if ((senditems.assetid == rr[a].id) && (!rr[a].ss)) {
    names.push({market_hash_name: rr[a].market_hash_name, icon_url: rr[a].icon_url});
    rr[a].ss = 1;
    continue;
    }
    }
    }
    res.json({
    success: true,
    code: code,
    amount: checksum,
    tid: r.tradeofferid,
    items: names
    });
    }
    });
    }
    });

    }
    });

    app.get('/sendTradeMe/', function (req, res) {
    var names = req.query['names'];
    names = names.split(',');
    var partner = req.query['partner'];
    var token = req.query['token'];
    var checksum = req.query['checksum'];
    if ((token == undefined) || (token == '')) {
    logger.error('Error sending trade');
    res.json({
    success: false,
    error: "Missing Trade token."
    });
    } else {
    offers.loadMyInventory({
    appId: 730,
    contextId: 2
    }, function (err, items) {
    if (err) {
    logger.error('Error sending trade');
    logger.debug(err);
    res.json({
    success: false,
    error: err.toString()
    });
    } else {
    var senditems = [];
    for (var i = 0; i < names.length; i++) {
    for (var a = 0; a < items.length; a++) {
    if ((names == items[a].market_hash_name) && (!items[a].ss)) {
    senditems.push({
    appid: 730,
    contextid: 2,
    assetid: items[a].id
    });
    if (senditems.length == names.length - 1) break;
    items[a].ss = 1;
    continue;
    }
    if (senditems.length == names.length - 1) break;
    }
    }

    var code = makecode();
    console.log(partner, token, checksum, names, senditems);
    offers.makeOffer({
    partnerAccountId: partner,
    accessToken: token,
    itemsFromThem: [],
    itemsFromMe: senditems,
    message: 'Code: ' + code
    }, function (err, r) {
    if (err) {
    logger.error('Error sending trade');
    logger.debug(err);
    res.json({
    success: false,
    error: err.toString()
    });
    } else {
    res.json({
    success: true,
    code: code,
    amount: -checksum,
    tid: r.tradeofferid,
    state: 2
    });
    }
    });
    }
    });

    }
    });

    app.get('/sendTradeMe/', function (req, res) {
    var names = req.query['names'];
    names = names.split(',');
    var partner = req.query['partner'];
    var token = req.query['token'];
    var checksum = req.query['checksum'];
    offers.loadMyInventory({
    appId: 730,
    contextId: 2
    }, function(err, items) {
    if(err) {
    logger.error('Error sending trade');
    logger.debug(err);
    res.json({
    success: false,
    error: err.toString()
    });
    } else {
    var senditems = [];
    for(var i = 0; i < names.length; i++) {
    for(var a = 0; a < items.length; a++) {
    if((names == items[a].market_hash_name) && (!items[a].ss)) {
    senditems.push({
    appid: 730,
    contextid: 2,
    assetid: items[a].id
    });
    if(senditems.length == names.length-1) break;
    items[a].ss = 1;
    continue;
    }
    if(senditems.length == names.length-1) break;
    }
    };
    var code = makecode();
    console.log(partner, token, checksum, names, senditems);
    offers.makeOffer({
    partnerAccountId: partner,
    accessToken: token,
    itemsFromThem: [],
    itemsFromMe: senditems,
    message: 'Code: '+code
    }, function(err, r) {
    if(err) {
    logger.error('Error sending trade');
    logger.debug(err);
    res.json({
    success: false,
    error: err.toString()
    });
    } else {
    res.json({
    success: true,
    code: code,
    amount: -checksum,
    tid: r.tradeofferid,
    state: 2
    });
    }
    });
    }
    });
    });

    app.get('/checkTrade/', function (req, res) {
    var tid = req.query['tid'];
    offers.getOffer({
    tradeofferid: tid
    }, function(err, trade) {
    if(err) {
    logger.error('Error checking trade');
    logger.debug(err);
    res.json({
    success: false,
    error: err.toString()
    });
    } else {
    logger.debug(trade);
    if(trade.response.offer.trade_offer_state == 3) {
    res.json({
    success: true,
    action: 'accept',
    result: 'Coins have been added to your balance'
    });
    } else if(trade.response.offer.trade_offer_state == 7) {
    res.json({
    success: true,
    result: 'You are declined trade',
    action: 'cross'
    });
    } else {
    res.json({
    success: false,
    error: 'You are not accept trade'
    });
    }
    }
    });
    });

    function cancelTrade(offerid) {
    offers.declineOffer({
    tradeOfferId: offerid
    }, function(err, log) {
    if (err) {
    logger.error('Ðе Ñмогли отменить трейд #'+offerid);
    logger.debug(err);
    return;
    }
    logger.debug(log);
    logger.trace('Offer #'+offerid+' canceled');
    });
    }

    query('SELECT * FROM bots WHERE id = '+pool.escape(process.argv[2]), function(err, res) {
    if((err) || (!res[0])) {
    logger.error('Cant find account');
    process.exit(0);
    return;
    }
    account = res[0];
    app.listen(3000+account.id);
    logger.trace('We got account info');
    account.twoFactorCode = SteamTotp.generateAuthCode(account.shared_secret);
    account.auth = false;
    logger.debug(account);
    community.login(account, login);
    });

    community.on('confKeyNeeded', function(tag, callback) {
    callback(null, time, SteamTotp.getConfirmationKey(account.identity_secret, time(), tag));
    });

    community.on('newConfirmation', function(confirmation) {
    var time = time();
    var key = SteamTotp.getConfirmationKey(account.identity_secret, time, 'allow');
    confirmation.respond(time, key, true, function(err) {
    if(err) {
    logger.error('Error on mobile auth');
    logger.debug(err);
    return;
    }
    logger.trace('Trade sucesfully confirmed');
    });
    });

    function query(sql, callback) {
    if (typeof callback === 'undefined') {
    callback = function() {};
    }
    pool.getConnection(function(err, connection) {
    if(err) return callback(err);
    logger.info('DB connection ID: '+connection.threadId);
    connection.query(sql, function(err, rows) {
    if(err) return callback(err);
    connection.release();
    return callback(null, rows);
    });
    });
    }

    function login(err, sessionID, cookies, steamguard) {
    if(err) {
    logger.error('Auth error');
    logger.debug(err);
    if(err.message == "SteamGuardMobile") {
    account.twoFactorCode = SteamTotp.generateAuthCode(account.shared_secret);
    logger.warn('Error in auth: '+account.twoFactorCode);
    setTimeout(function() {
    community.login(account, login);
    }, 5000);
    return;
    }
    process.exit(0);
    }
    logger.trace('Sucesfully auth');
    account.sessionID = sessionID;
    account.cookies = cookies;
    community.getWebApiKey('csgobananas.com', webApiKey);
    community.startConfirmationChecker(10000, account.identity_secret);
    }

    function webApiKey(err, key) {
    if(err) {
    logger.error('Cant make apikey')
    logger.debug(err);
    process.exit(0);
    return;
    }
    account.key = key;
    logger.trace('API key bot '+account.accountName+' '+account.key);
    offersSetup();
    community.loggedIn(checkLoggedIn);
    }

    function offersSetup() {
    logger.trace('Loaded steam-tradeoffers');
    offers.setup({
    sessionID: account.sessionID,
    webCookie: account.cookies,
    APIKey: account.key
    });
    }

    function checkLoggedIn(err, loggedIn, familyView) {
    if((err) || (!loggedIn)) {
    logger.error('We arent logged in')
    process.exit(0);
    } else {
    logger.trace('Logged in');
    account.auth = true;
    }
    }

    function makecode() {
    var text = "";
    var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";

    for(var i=0; i < 5; i++)
    text += possible.charAt(Math.floor(Math.random() * possible.length));

    return text;

    }

    function time() {
    return parseInt(new Date().getTime()/1000)
    }

  2. Make the token expected.

    how do i do that ? im kinda newbie 

     

    here's my bot script. 

     

    var SteamCommunity = require('steamcommunity');
    var SteamTotp = require('steam-totp');
    var mysql = require('mysql');
    var log4js = require('log4js');
    var SteamTradeOffers = require('steam-tradeoffers');
    var async = require('async');
     
    var pool  = mysql.createPool({
    connectionLimit : 10,
    database: 'csgo',
    host: 'localhost',
    user: 'root',
    password: 'Tome'
    });
     
    var community = new SteamCommunity();
    var offers = new SteamTradeOffers();
    log4js.configure({
    appenders: [
    { type: 'console' },
    { type: 'file', filename: 'logs/bot_'+process.argv[2]+'.log' }
    ]
    });
    var logger = log4js.getLogger();
     
    var express = require('express');
    var app = express();
     
    app.get('/sendTrade/', function (req, res) {
        var assetids = req.query['assetids'];
        assetids = assetids.split(',');
        var partner = req.query['partner'];
        var token = req.query['token'];
        var checksum = req.query['checksum'];
        var steamid = req.query['steamid'];
        var senditems = [];
     
        for (var i = 0; i < assetids.length; i++) {
            if (assetids == "") continue;
            senditems.push({
                appid: 730,
                contextid: 2,
                assetid: assetids
            });
        }
        var code = makecode();
        console.log(partner, token, checksum, assetids, senditems);
        if ( assetids.length == 0){
            logger.error('Error sending trade');
            res.json({
                success: false,
                error: "Invalid assetid length."
            });
        }else if ((token == undefined) || (token == '')) {
            logger.error('Error sending trade');
            res.json({
                success: false,
                error: "Missing Trade token."
            });
        } else {
        offers.makeOffer({
            partnerAccountId: partner,
            accessToken: token,
            itemsFromThem: senditems,
            itemsFromMe: [],
            message: 'Code: ' + code
        }, function (err, r) {
            if (err) {
                logger.error('Error sending trade');
                logger.debug(err);
                res.json({
                    success: false,
                    error: err.toString()
                });
            } else {
                offers.loadPartnerInventory({
                    partnerSteamId: steamid,
                    tradeOfferId: r.tradeofferid,
                    appId: 730,
                    contextId: 2,
                    language: 'russian'
                }, function (err, rr) {
                    if (err) {
                        logger.debug(err);
                        res.json({
                            success: false,
                            error: err.toString()
                        });
                    } else {
                        var names = [];
                        for (var i = 0; i < senditems.length; i++) {
                            for (var a = 0; a < rr.length; a++) {
                                if ((senditems.assetid == rr[a].id) && (!rr[a].ss)) {
                                    names.push({market_hash_name: rr[a].market_hash_name, icon_url: rr[a].icon_url});
                                    rr[a].ss = 1;
                                    continue;
                                }
                            }
                        }
                        res.json({
                            success: true,
                            code: code,
                            amount: checksum,
                            tid: r.tradeofferid,
                            items: names
                        });
                    }
                });
            }
        });
    }
    });
     
    app.get('/sendTradeMe/', function (req, res) {
        var names = req.query['names'];
        names = names.split(',');
        var partner = req.query['partner'];
        var token = req.query['token'];
        var checksum = req.query['checksum'];
         if ((token == undefined) || (token == '')) {
            logger.error('Error sending trade');
            res.json({
                success: false,
                error: "Missing Trade token."
            });
        } else {
        offers.loadMyInventory({
            appId: 730,
            contextId: 2
        }, function (err, items) {
            if (err) {
                logger.error('Error sending trade');
                logger.debug(err);
                res.json({
                    success: false,
                    error: err.toString()
                });
            } else {
                var senditems = [];
                for (var i = 0; i < names.length; i++) {
                    for (var a = 0; a < items.length; a++) {
                        if ((names == items[a].market_hash_name) && (!items[a].ss)) {
                            senditems.push({
                                appid: 730,
                                contextid: 2,
                                assetid: items[a].id
                            });
                            if (senditems.length == names.length - 1) break;
                            items[a].ss = 1;
                            continue;
                        }
                        if (senditems.length == names.length - 1) break;
                    }
                }
     
                var code = makecode();
                console.log(partner, token, checksum, names, senditems);
                offers.makeOffer({
                    partnerAccountId: partner,
                    accessToken: token,
                    itemsFromThem: [],
                    itemsFromMe: senditems,
                    message: 'Code: ' + code
                }, function (err, r) {
                    if (err) {
                        logger.error('Error sending trade');
                        logger.debug(err);
                        res.json({
                            success: false,
                            error: err.toString()
                        });
                    } else {
                        res.json({
                            success: true,
                            code: code,
                            amount: -checksum,
                            tid: r.tradeofferid,
                            state: 2
                        });
                    }
                });
            }
        });
    }
    });
     
    app.get('/sendTradeMe/', function (req, res) {
    var names = req.query['names'];
    names = names.split(',');
    var partner = req.query['partner'];
    var token = req.query['token'];
    var checksum = req.query['checksum'];
    offers.loadMyInventory({
    appId: 730,
    contextId: 2
    }, function(err, items) {
    if(err) {
    logger.error('Error sending trade');
    logger.debug(err);
    res.json({
    success: false,
    error: err.toString()
    });
    } else {
    var senditems = [];
    for(var i = 0; i < names.length; i++) {
    for(var a = 0; a < items.length; a++) {
    if((names == items[a].market_hash_name) && (!items[a].ss)) {
    senditems.push({
    appid: 730,
    contextid: 2, 
    assetid: items[a].id
    });
    if(senditems.length == names.length-1) break;
    items[a].ss = 1;
    continue;
    }
    if(senditems.length == names.length-1) break;
    }
    };
    var code = makecode();
    console.log(partner, token, checksum, names, senditems);
    offers.makeOffer({
    partnerAccountId: partner,
    accessToken: token,
    itemsFromThem: [],
    itemsFromMe: senditems,
    message: 'Code: '+code
    }, function(err, r) {
    if(err) {
    logger.error('Error sending trade');
    logger.debug(err);
    res.json({
    success: false,
    error: err.toString()
    });
    } else {
    res.json({
    success: true,
    code: code,
    amount: -checksum,
    tid: r.tradeofferid,
    state: 2
    });
    }
    });
    }
    });
    });
     
    app.get('/checkTrade/', function (req, res) {
    var tid = req.query['tid'];
    offers.getOffer({
    tradeofferid: tid
    }, function(err, trade) {
    if(err) {
    logger.error('Error checking trade');
    logger.debug(err);
    res.json({
    success: false,
    error: err.toString()
    });
    } else {
    logger.debug(trade);
    if(trade.response.offer.trade_offer_state == 3) {
    res.json({
    success: true,
    action: 'accept',
    result: 'Coins have been added to your balance'
    });
    } else if(trade.response.offer.trade_offer_state == 7) {
    res.json({
    success: true,
    result: 'You are declined trade',
    action: 'cross'
    });
    } else {
    res.json({
    success: false,
    error: 'You are not accept trade'
    });
    }
    }
    });
    });
     
    function cancelTrade(offerid) {
    offers.declineOffer({
    tradeOfferId: offerid
    }, function(err, log) {
    if (err) {
    logger.error('Ðе Ñмогли отменить трейд #'+offerid);
    logger.debug(err);
    return;
    }
    logger.debug(log);
    logger.trace('Offer #'+offerid+' canceled');
    });
    }
     
    query('SELECT * FROM `bots` WHERE `id` = '+pool.escape(process.argv[2]), function(err, res) {
    if((err) || (!res[0])) {
    logger.error('Cant find account');
    process.exit(0);
    return;
    }
    account = res[0];
    app.listen(3000+account.id);
    logger.trace('We got account info');
    account.twoFactorCode = SteamTotp.generateAuthCode(account.shared_secret);
    account.auth = false;
    logger.debug(account);
    community.login(account, login);
    });
     
    community.on('confKeyNeeded', function(tag, callback) {
        callback(null, time, SteamTotp.getConfirmationKey(account.identity_secret, time(), tag));
    });
     
    community.on('newConfirmation', function(confirmation) {
    var time = time();
    var key = SteamTotp.getConfirmationKey(account.identity_secret, time, 'allow');
    confirmation.respond(time, key, true, function(err) {
    if(err) {
    logger.error('Error on mobile auth');
    logger.debug(err);
    return;
    }
    logger.trace('Trade sucesfully confirmed');
    });
    });
     
    function query(sql, callback) {
    if (typeof callback === 'undefined') {
    callback = function() {};
    }
    pool.getConnection(function(err, connection) {
    if(err) return callback(err);
    logger.info('DB connection ID: '+connection.threadId);
    connection.query(sql, function(err, rows) {
    if(err) return callback(err);
    connection.release();
    return callback(null, rows);
    });
    });
    }
     
    function login(err, sessionID, cookies, steamguard) {
    if(err) {
    logger.error('Auth error');
    logger.debug(err);
    if(err.message == "SteamGuardMobile") {
    account.twoFactorCode = SteamTotp.generateAuthCode(account.shared_secret);
    logger.warn('Error in auth: '+account.twoFactorCode);
    setTimeout(function() {
    community.login(account, login);
    }, 5000);
    return;
    }
    process.exit(0);
    }
    logger.trace('Sucesfully auth');
    account.sessionID = sessionID;
    account.cookies = cookies;
    community.getWebApiKey('csgobananas.com', webApiKey);
    community.startConfirmationChecker(10000, account.identity_secret);
    }
     
    function webApiKey(err, key) {
    if(err) {
    logger.error('Cant make apikey')
    logger.debug(err);
    process.exit(0);
    return;
    }
    account.key = key;
    logger.trace('API key bot '+account.accountName+' '+account.key);
    offersSetup();
    community.loggedIn(checkLoggedIn);
    }
     
    function offersSetup() {
    logger.trace('Loaded steam-tradeoffers');
    offers.setup({
    sessionID: account.sessionID,
    webCookie: account.cookies,
    APIKey: account.key
    });
    }
     
    function checkLoggedIn(err, loggedIn, familyView) {
    if((err) || (!loggedIn)) {
    logger.error('We arent logged in')
    process.exit(0);
    } else {
    logger.trace('Logged in');
    account.auth = true;
    }
    }
     
    function makecode() {
        var text = "";
        var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
     
        for(var i=0; i < 5; i++)
            text += possible.charAt(Math.floor(Math.random() * possible.length));
     
        return text;
    }
     
    function time() {
    return parseInt(new Date().getTime()/1000)
    }
  3. Bot/bot.js:20
    { type: 'console' },
    ^

    SyntaxError: Unexpected token {
    at createScript (vm.js:80:10)
    at Object.runInThisContext (vm.js:139:10)
    at Module._compile (module.js:588:28)
    at Object.Module._extensions..js (module.js:635:10)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)
    at Function.Module._load (module.js:500:3)
    at Function.Module.runMain (module.js:665:10)
    at startup (bootstrap_node.js:187:16)
    at bootstrap_node.js:607:3

  4. /node_modules/log4js/lib/configuration.js:44
    throw new Error(
    ^

    Error: Problem with log4js configuration: ({ appenders:
    [ { type: 'console' },
    { type: 'file', filename: 'logs/bot_undefined.log' } ] }) - must have a property "appenders" of type object.
    at tests.forEach (/home/Bot/node_modules/log4js/lib/configuration.js:44:15)
    at Array.forEach (<anonymous>)
    at Configuration.throwExceptionIf (/home/Bot/node_modules/log4js/lib/configuration.js:42:11)
    at new Configuration (/home/Bot/node_modules/log4js/lib/configuration.js:205:10)
    at Object.configure (/home/Bot/node_modules/log4js/lib/log4js.js:201:12)
    at Object.<anonymous> (/home/rsa-key-20171001/Bot/bot.js:18:8)
    at Module._compile (module.js:624:30)
    at Object.Module._extensions..js (module.js:635:10)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)

     

    i get this error when i try to run my bot. node v8. ubuntu 14. can anyone help me please ? 

  5. now i've updated node to v8.6.0 and npm 5.3.0 and now  i get different error 

     

    Bot/node_modules/log4js/lib/configuration.js:44
    throw new Error(
    ^

    Error: Problem with log4js configuration: ({ appenders:
    [ { type: 'console' },
    { type: 'file', filename: 'logs/bot_undefined.log' } ] }) - must have a property "appenders" of type object.
    at tests.forEach (/home/Bot/node_modules/log4js/lib/configuration.js:44:15)
    at Array.forEach (<anonymous>)
    at Configuration.throwExceptionIf (/home/Bot/node_modules/log4js/lib/configuration.js:42:11)
    at new Configuration (/home/Bot/node_modules/log4js/lib/configuration.js:205:10)
    at Object.configure (/home/Bot/node_modules/log4js/lib/log4js.js:201:12)
    at Object.<anonymous> (/home/Bot/bot.js:18:8)
    at Module._compile (module.js:624:30)
    at Object.Module._extensions..js (module.js:635:10)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)

  6. v 0.12.18

     

    the thing is I'm using Google Cloud Platform and it doesnt give me full access to my sftp. and whenever i want to install node modules in bot folder, it gets installed in other directory. 

     

    when i use sudo npm cache clean -f

    /usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js:6
    let url
    ^^^
    SyntaxError: Unexpected strict mode reserved word
    at Module._compile (module.js:437:25)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:362:17)
    at require (module.js:378:17)
    at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/access.js:5:11)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)

  7. /node_modules/steamcommunity/node_modules/request/node_modules/hawk/node_modules/boom/lib/index.js:5
    const Hoek = require('hoek');
    ^^^^^
    SyntaxError: Use of const in strict mode.
    at exports.runInThisContext (vm.js:73:16)
    at Module._compile (module.js:443:25)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/home/Bot/node_modules/steamcommunity/node_modules/request/node_modules/hawk/lib/index.js:5:33)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)

     

     

    i get this error when i try to start my bot. can anyone help me please ?

  8. i was about to do that only. 

    here's my code for bot.js 

     

    var SteamCommunity = require('steamcommunity');
    var SteamTotp = require('steam-totp');
    var mysql = require('mysql');
    var log4js = require('log4js');
    var SteamTradeOffers = require('steam-tradeoffers');
    var async = require('async');
     
    var pool  = mysql.createPool({
    connectionLimit : 10,
    database: 'csgo',
    host: 'localhost',
    user: 'root',
    password: 'Tome'
    });
     
    var community = new SteamCommunity();
    var offers = new SteamTradeOffers();
    log4js.configure({
    appenders: [
    { type: 'console' },
    { type: 'file', filename: 'logs/bot_'+process.argv[2]+'.log' }
    ]
    });
    var logger = log4js.getLogger();
     
    var express = require('express');
    var app = express();
     
    app.get('/sendTrade/', function (req, res) {
    var assetids = req.query['assetids'];
    assetids = assetids.split(',');
    var partner = req.query['partner'];
    var token = req.query['token'];
    var checksum = req.query['checksum'];
    var steamid = req.query['steamid'];
    var senditems = [];
    for(var i = 0; i < assetids.length; i++) {
    if(assetids == "") continue;
    senditems.push({
    appid: 730,
    contextid: 2, 
    assetid: assetids
    });
    }
    var code = makecode();
    console.log(partner, token, checksum, assetids, senditems);
    offers.makeOffer({
    partnerAccountId: partner,
    accessToken: token,
    itemsFromThem: senditems,
    itemsFromMe: [],
    message: 'Code: '+code
    }, function(err, r) {
    if(err) {
    logger.error('Error sending trade');
    logger.debug(err);
    res.json({
    success: false,
    error: err.toString()
    });
    } else {
    offers.loadPartnerInventory({
    partnerSteamId: steamid,
    tradeOfferId: r.tradeofferid,
    appId: 730,
    contextId: 2,
    language: 'russian'
    }, function(err, rr) {
    if(err) {
    logger.debug(err);
    res.json({
    success: false,
    error: err.toString()
    });
    } else {
    var names = [];
    for(var i = 0; i < senditems.length; i++) {
    for(var a = 0; a < rr.length; a++) {
    if((senditems.assetid == rr[a].id) && (!rr[a].ss)) {
    names.push({market_hash_name: rr[a].market_hash_name, icon_url: rr[a].icon_url});
    rr[a].ss = 1;
    continue;
    }
    }
    }
    res.json({
    success: true,
    code: code,
    amount: checksum,
    tid: r.tradeofferid,
    items: names
    });
    }
    });
    }
    });
    });
     
    app.get('/sendTradeMe/', function (req, res) {
    var names = req.query['names'];
    names = names.split(',');
    var partner = req.query['partner'];
    var token = req.query['token'];
    var checksum = req.query['checksum'];
    offers.loadMyInventory({
    appId: 730,
    contextId: 2
    }, function(err, items) {
    if(err) {
    logger.error('Error sending trade');
    logger.debug(err);
    res.json({
    success: false,
    error: err.toString()
    });
    } else {
    var senditems = [];
    for(var i = 0; i < names.length; i++) {
    for(var a = 0; a < items.length; a++) {
    if((names == items[a].market_hash_name) && (!items[a].ss)) {
    senditems.push({
    appid: 730,
    contextid: 2, 
    assetid: items[a].id
    });
    if(senditems.length == names.length-1) break;
    items[a].ss = 1;
    continue;
    }
    if(senditems.length == names.length-1) break;
    }
    };
    var code = makecode();
    console.log(partner, token, checksum, names, senditems);
    offers.makeOffer({
    partnerAccountId: partner,
    accessToken: token,
    itemsFromThem: [],
    itemsFromMe: senditems,
    message: 'Code: '+code
    }, function(err, r) {
    if(err) {
    logger.error('Error sending trade');
    logger.debug(err);
    res.json({
    success: false,
    error: err.toString()
    });
    } else {
    res.json({
    success: true,
    code: code,
    amount: -checksum,
    tid: r.tradeofferid,
    state: 2
    });
    }
    });
    }
    });
    });
     
    app.get('/checkTrade/', function (req, res) {
    var tid = req.query['tid'];
    offers.getOffer({
    tradeofferid: tid
    }, function(err, trade) {
    if(err) {
    logger.error('Error checking trade');
    logger.debug(err);
    res.json({
    success: false,
    error: err.toString()
    });
    } else {
    logger.debug(trade);
    if(trade.response.offer.trade_offer_state == 3) {
    res.json({
    success: true,
    action: 'accept',
    result: 'Coins have been added to your balance'
    });
    } else if(trade.response.offer.trade_offer_state == 7) {
    res.json({
    success: true,
    result: 'You are declined trade',
    action: 'cross'
    });
    } else {
    res.json({
    success: false,
    error: 'You are not accept trade'
    });
    }
    }
    });
    });
     
    function cancelTrade(offerid) {
    offers.declineOffer({
    tradeOfferId: offerid
    }, function(err, log) {
    if (err) {
    logger.error('Ðе Ñмогли отменить трейд #'+offerid);
    logger.debug(err);
    return;
    }
    logger.debug(log);
    logger.trace('Offer #'+offerid+' canceled');
    });
    }
     
    query('SELECT * FROM `bots` WHERE `id` = '+pool.escape(process.argv[2]), function(err, res) {
    if((err) || (!res[0])) {
    logger.error('Cant find account');
    process.exit(0);
    return;
    }
    account = res[0];
    app.listen(3000+account.id);
    logger.trace('We got account info');
    account.twoFactorCode = SteamTotp.generateAuthCode(account.shared_secret);
    account.auth = false;
    logger.debug(account);
    community.login(account, login);
    });
     
    community.on('confKeyNeeded', function(tag, callback) {
        callback(null, time, SteamTotp.getConfirmationKey(account.identity_secret, time(), tag));
    });
     
    community.on('newConfirmation', function(confirmation) {
    var time = time();
    var key = SteamTotp.getConfirmationKey(account.identity_secret, time, 'allow');
    confirmation.respond(time, key, true, function(err) {
    if(err) {
    logger.error('Error on mobile auth');
    logger.debug(err);
    return;
    }
    logger.trace('Trade sucesfully confirmed');
    });
    });
     
    function query(sql, callback) {
    if (typeof callback === 'undefined') {
    callback = function() {};
    }
    pool.getConnection(function(err, connection) {
    if(err) return callback(err);
    logger.info('DB connection ID: '+connection.threadId);
    connection.query(sql, function(err, rows) {
    if(err) return callback(err);
    connection.release();
    return callback(null, rows);
    });
    });
    }
     
    function login(err, sessionID, cookies, steamguard) {
    if(err) {
    logger.error('Auth error');
    logger.debug(err);
    if(err.message == "SteamGuardMobile") {
    account.twoFactorCode = SteamTotp.generateAuthCode(account.shared_secret);
    logger.warn('Error in auth: '+account.twoFactorCode);
    setTimeout(function() {
    community.login(account, login);
    }, 5000);
    return;
    }
    process.exit(0);
    }
    logger.trace('Sucesfully auth');
    account.sessionID = sessionID;
    account.cookies = cookies;
    community.getWebApiKey('csgobananas.com', webApiKey);
    community.startConfirmationChecker(10000, account.identity_secret);
    }
     
    function webApiKey(err, key) {
    if(err) {
    logger.error('Cant make apikey')
    logger.debug(err);
    process.exit(0);
    return;
    }
    account.key = key;
    logger.trace('API key bot '+account.accountName+' '+account.key);
    offersSetup();
    community.loggedIn(checkLoggedIn);
    }
     
    function offersSetup() {
    logger.trace('Loaded steam-tradeoffers');
    offers.setup({
    sessionID: account.sessionID,
    webCookie: account.cookies,
    APIKey: account.key
    });
    }
     
    function checkLoggedIn(err, loggedIn, familyView) {
    if((err) || (!loggedIn)) {
    logger.error('We arent logged in')
    process.exit(0);
    } else {
    logger.trace('Logged in');
    account.auth = true;
    }
    }
     
    function makecode() {
        var text = "";
        var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
     
        for(var i=0; i < 5; i++)
            text += possible.charAt(Math.floor(Math.random() * possible.length));
     
        return text;
    }
     
    function time() {
    return parseInt(new Date().getTime()/1000)
    }
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    and for bot_manager.js
     
    var forever = require('forever-monitor');
    var mysql = require('mysql');
     
    var pool  = mysql.createPool({
    connectionLimit : 10,
    database: 'csgo',
    host: 'localhost',
    user: 'root',
    password: 'Tome'
    });
     
    query('SELECT * FROM `bots`', function(err, row) {
    if((err) || (!row.length)) {
    console.log('Failed request or empty bot table');
    console.log(err);
    return process.exit(0);
    }
    console.log('List of bots:');
    row.forEach(function(itm) {
    console.log('Launching bot# '+itm.id);
    var bot = new (forever.Monitor)('bot.js', {
    args: [itm.id]
    });
    bot.on('start', function(process, data) {
    console.log('Bot with ID '+itm.id+' started');
    });
    bot.on('exit:code', function(code) {
        console.log('Bot stopped with code '+code);
    });
    bot.on('stdout', function(data) {
    console.log(data);
    });
    bot.start();
    });
    });
     
    function query(sql, callback) {
    if (typeof callback === 'undefined') {
    callback = function() {};
    }
    pool.getConnection(function(err, connection) {
    if(err) return callback(err);
    console.info('Database connection ID: '+connection.threadId);
    connection.query(sql, function(err, rows) {
    if(err) return callback(err);
    connection.release();
    return callback(null, rows);
    });
    });
    }
  9. I've been running my bot very well from a time but something unexpected happened last night. I check my bot before i sleep and when i woke up. I see that the bot has got 0 items. And when i checked the trades i see that a guy took away all the items from my bot. How come is it possible ?

  10. i've been using this bot for a while then suddenly i had to change my mobile authentication and then wait for 15 days and now i see that bot doesnt sends any trade offer,

     

     Error: There was an error sending your trade offer. Please try again later.



    Bot has declined your trade request.

     

     

    someone help me please

  11. im able to install v0.10 but version 6 im just not able to install. it remains version 10 only. can you please get me the command to downgrade it please ?

     

     

     

     

    or can you tell me a way to compress my previous bot node_modules folder from filezilla and i can replace it with new one ? i tried few compressing method from google but it didnt work.

  12. Hello everyone, previously i made few steam bots without having any issue but this time whenever i try to run the bot with node then i get this error :


    /home/bot/node_modules/steamcommunity/node_modules/steam-totp/nod[email protected]<script data-cfhash='f9e31' type="text/javascript">/* */</script>/stats-reporter/index.js:9

    let g_StartupTimestamp = Math.floor(Date.now() / 1000);

        ^^^^^^^^^^^^^^^^^^

    SyntaxError: Unexpected identifier

        at exports.runInThisContext (vm.js:73:16)

        at Module._compile (module.js:443:25)

        at Object.Module._extensions..js (module.js:478:10)

        at Module.load (module.js:355:32)

        at Function.Module._load (module.js:310:12)

        at Module.require (module.js:365:17)

        at require (module.js:384:17)

        at Object.<anonymous> (/home/bot/node_modules/steamcommunity/node_modules/steam-totp/index.js:1:63)

        at Module._compile (module.js:460:26)

        at Object.Module._extensions..js (module.js:478:10)

     

     

    can anyone please help me ? thank you

×
×
  • Create New...