Проблема с ботом на Node.js. Функция не опознаётся.
Здравствуйте, у меня такая вот проблема. У меня есть бот работающий на Node.js. С ним возникла вот такая вот проблема:
E:\Bot>node bot.js E:\Bot\bot.js:55 steam.logOn(logOnOptions); ^ TypeError: steam.logOn is not a function at Object.<anonymous> (E:\Bot\bot.js:55:7) at Module._compile (module.js:409:26) at Object.Module._extensions..js (module.js:416:10) at Module.load (module.js:343:32) at Function.Module._load (module.js:300:12) at Function.Module.runMain (module.js:441:10) at startup (node.js:139:18) at node.js:968:3 E:\Bot>pause Для продолжения нажмите любую клавишу . . . Помогите исправить. Как я понял, бот не может опознать функцию logOn, потому что её нет в модуле steam. Но я не знаю как это исправить. Может я и неправильно понял. Прошу помощи у тех, кто в этом разбирается. Вот сам код(укоротил): var admin = '76561198213719873'; var logOnOptions = { accountName: '*********', password: '**********' }; var GameTime = 120; // время продолжительности игры //// var authCode = ''; // КОД ОТ СТИМ ГУАРД var globalSessionID; if (require('fs').existsSync('sentry_'+logOnOptions['accountName']+'.hash')) { logOnOptions['shaSentryfile'] = require('fs').readFileSync('sentry_'+logOnOptions['accountName']+'.hash'); } else if(require('fs').existsSync('ssfn_'+logOnOptions['accountName'])) { var sha = require('crypto').createHash('sha1'); sha.update(require('fs').readFileSync('ssfn_'+logO nOptions['accountName'])); var sentry = new Buffer(sha.digest(), 'binary'); logOnOptions['shaSentryfile'] = sentry; require('fs').writeFileSync('sentry_'+logOnOptions['accountName']+'.hash', sentry); console.log('Converting ssfn to sentry file!'); console.log('Now you can remove ssfn_'+logOnOptions['accountName']); } else if (authCode != '') { logOnOptions['authCode'] = authCode; } var sitename; sitename = "********"; var Steam = require('steam'); var SteamTradeOffers = require('steam-tradeoffers'); var mysql = require('mysql'); var request = require("request"); var apik = "******************************"; // АПИКЕЙ (НУЖЕН С АККАУНТА БОТА!!!) var mysqlInfo; mysqlInfo = { host : 'localhost', user : '*********', password : '*********', database : '*********', charset : 'utf8_general_ci' }; var mysqlConnection = mysql.createConnection(mysqlInfo); var steam = new Steam.SteamClient(); var offers = new SteamTradeOffers(); var recheck = true; steam.logOn(logOnOptions); steam.on('debug', function(text){ console.log(text); require('fs').appendFile('debug.log', text+'\n'); }); function getUserName(steamid) { getUserInfo(steamid, function(error, data){ if(error) throw error; var datadec = JSON.parse(JSON.stringify(data.response)); return (datadec.players[0].personaname); }); } function proceedWinners() { var url = 'http://'+sitename+'/getwinner34634f.php'; request(url, function(error, response, body){}); } function getUserInfo(steamids,callback) { var url = 'http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key='+apik+'&steamids='+ steamids + '&format=json'; request({ url: url, json: true }, function(error, response, body){ if(!error && response.statusCode === 200){ callback(null, body); } else if (error) { getUserInfo(steamids,callback); } }); } function addslashes(str) { str=str.replace(/\\/g,'\\\\'); str=str.replace(/\'/g,'\\\''); str=str.replace(/\"/g,'\\"'); str=str.replace(/\0/g,'\\0'); return str; } var locked=false,proceeded; var itemscopy; var detected=false; var detected2=false; var endtimer = -1; function weblogon() { steam.webLogOn(function(newCookie) { offers.setup({ sessionID: globalSessionID, webCookie: newCookie }, function(err) { if (err) { } }); }); } function sendoffers(){ detected2 = false; offers.loadMyInventory({ appId: 730, contextId: 2 }, function(err, itemx) { if(err) { weblogon(); setTimeout(sendoffers,2000); return; } if(detected2 == true) { return; } detected2 = true; itemscopy = itemx; detected = false; mysqlConnection.query('SELECT * FROM `queue` WHERE `status`=\'active\'', function(err, row, fields) { if(err) { return; } if(detected == true) { return; } detected = true; for(var i=0; i < row.length; i++) { var gameid = row[i].id; var sendItems = (row[i].items).split('/'); var item=[],num=0; for (var x = 0; x < itemscopy.length; x++) { for(var j=0; j < sendItems.length; j++) { if (itemscopy[x].tradable && (itemscopy[x].market_name).indexOf(sendItems[j]) == 0) { sendItems[j] = "hgjhgnhgjgnjghjjghjghjghjhgjghjghjghngnty"; itemscopy[x].market_name = "fgdfgdfgdfgdfgfswfewefewrfewrewrewr"; item[num] = { appid: 730, contextid: 2, amount: itemscopy[x].amount, assetid: itemscopy[x].id } num++; } } } if (num > 0) { var gamenum = row[i].id; offers.makeOffer ({ partnerSteamId: row[i].userid, itemsFromMe: item, accessToken: row[i].token, itemsFromThem: [], message: 'Ваш выигрыш на сайте '+sitename+' в игре #'+gamenum }, function(err, response){ if (err) { return; } mysqlConnection.query('UPDATE `queue` SET `status`=\'sent '+response+'\' WHERE `id`=\''+gameid+'\'', function(err, row, fields) {}); console.log('Trade offer for queue '+gamenum+' sent!'); }); } } }); })} |
А код где?
|
Часовой пояс GMT +3, время: 00:34. |