javascript - Node js ReferenceError: item is not defined -


i'm trying code steam trade bot accept trade offers automatically. can decline login via trade bot , decline trade offers when should accept trade offer automatically doesn't. error insted of accepting offers;

/var/node_modules/mysql/lib/protocol/parser.js:82         throw err;               ^ referenceerror: item not defined     @ query._callback (/var/tradebot.js:419:18)     @ query.sequence.end (/var/node_modules/mysql/lib/protocol/sequences/sequence.js:96:24)     @ query._handlefinalresultpacket (/var/node_modules/mysql/lib/protocol/sequences/query.js:144:8)     @ query.eofpacket (/var/node_modules/mysql/lib/protocol/sequences/query.js:128:8)     @ protocol._parsepacket (/var/node_modules/mysql/lib/protocol/protocol.js:271:23)     @ parser.write (/var/node_modules/mysql/lib/protocol/parser.js:77:12)     @ protocol.write (/var/node_modules/mysql/lib/protocol/protocol.js:39:16)     @ socket.<anonymous> (/var/node_modules/mysql/lib/connection.js:96:28)     @ socket.emit (events.js:107:17)     @ readableaddchunk (_stream_readable.js:163:16) 

my tradebot.js source code;

var admin = 'xxx';  var logonoptions = {     accountname: 'xxxx,     password: 'xxxx' }; var gametime = 120;   ////  var authcode = '98y39';   var globalsessionid;  if (require('fs').existssync('sentry_'+logonoptions['accountname']+'.hash')) {     logonoptions['shasentryfile'] = require('fs').readfilesync('sentry_'+logonoptions['accountname']+'.hash'); } else if (authcode != '') {     logonoptions['authcode'] = authcode; }  var sitename;  sitename = "csgowin.net"; var steam = require('steam'); var steamtradeoffers = require('steam-tradeoffers'); var mysql      = require('mysql'); var request = require("request"); var steamuserinfo = require('steam-userinfo');  steamuserinfo.setup("5ea5ffd1e19cd74c2e8f736bb9cff152");  var mysqlinfo; mysqlinfo = {   host     : 'localhost',   user     : 'xxx',   password : 'xx',   database : 'xxx',   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', console.log);  function getusername(steamid) {     steamuserinfo.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){}); }  var locked=false,proceeded; var itemscopy; var detected=false; var detected2=false; function checktimer() {     if(locked == true) return;     locked = true;     if(recheck == true) {         recheck = false;         checkoffers(1000);     }     mysqlconnection.query('select `value` `info` `name`=\'current_game\'', function(err, rows, fields) {         if(err) return;         mysqlconnection.query('select `starttime` `games` `id`=\''+rows[0].value+'\'', function(errs, rowss, fieldss) {             if(errs) return;             var timeleft;             if(rowss[0].starttime == 2147483647) timeleft = gametime;             else {                 var unixtime = math.round(new date().gettime()/1000.0);                 timeleft = rowss[0].starttime+gametime-unixtime;                 if(timeleft < 0) timeleft = 0;             }             if(timeleft == 0) {                 if(proceeded == true) return;                 proceedwinners();                 proceeded = true;             } else proceeded = false;         });      });     detected2 = false;     offers.loadmyinventory({         appid: 730,         contextid: 2     }, function(err, itemx) {         if(err) {             steam.weblogon(function(newcookie) {                 offers.setup({                     sessionid: globalsessionid,                     webcookie: newcookie                 }, function(err) {                     if (err) {                     }                 });             });             return;         }         if(detected2 == true) {             return;         }         detected2 = true;         itemscopy = itemx;         detected = false;         mysqlconnection.query('select * `queue` `status`=\'active\'', function(err, row, fields) {             if(err) {                 return;             }             if(detected == true) {                 return;             }             detected = true;             for(var i=0; < row.length; i++) {                 var gameid = row[i].id;                 mysqlconnection.query('update `queue` set `status`=\'sent\' `id`=\''+gameid+'\'', function(err, row, fields) {});                 var senditems = (row[i].items).split('/');                 var item=[],num=0;                 (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] = "xxx";                             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;                         }                         console.log('trade offer queue '+gamenum+' sent!');                      });                 }             }         });     });     settimeout(function(){locked = false;},100000); }  steam.on('loggedon', function(result) {     console.log('logged in!');     steam.setpersonastate(steam.epersonastate.lookingtotrade);     steam.addfriend("xxx");     steam.sendmessage(admin,"Я включился!"); });  steam.on('websessionid', function(sessionid) {     globalsessionid = sessionid;     steam.weblogon(function(newcookie) {         offers.setup({             sessionid: sessionid,             webcookie: newcookie         }, function(err) {             if (err) {                 throw err;             }             setinterval(checktimer,1000);         });     }); });  steam.on('friendmsg', function(steamid, message, type) {     if(type != steam.echatentrytype.chatmsg) return;     if(steamid == admin) {         if(message.indexof("/sendallitems") == 0) {             offers.loadmyinventory({                 appid: 730,                 contextid: 2             }, function(err, items) {                 if(err) {                     steam.sendmessage(steamid, 'Не могу загрузить свой инвентарь, попробуй ещё раз');                     steam.weblogon(function(newcookie) {                         offers.setup({                             sessionid: globalsessionid,                             webcookie: newcookie                         }, function(err) {                             if (err) {                             }                         });                     });                     return;                 }                 var item=[],num=0;                 (var = 0; < items.length; i++) {                     if (items[i].tradable) {                         item[num] = {                             appid: 730,                             contextid: 2,                             amount: items[i].amount,                             assetid: items[i].id                         }                         num++;                     }                 }                 if (num > 0) {                     offers.makeoffer ({                         partnersteamid: steamid,                         itemsfromme: item,                         itemsfromthem: [],                         message: ''                     }, function(err, response){                         if (err) {                             throw err;                         }                         steam.sendmessage(steamid, 'Обмен отправлен!');                     });                 }             });         } else if(message.indexof("/send") == 0) {             var params = message.split(' ');             if(params.length == 1) return steam.sendmessage(steamid, 'Формат: /send [название предмета]');             offers.loadmyinventory({                 appid: 730,                 contextid: 2             }, function(err, items) {                 if(err) {                     steam.sendmessage(steamid, 'Не могу загрузить свой инвентарь, попробуй ещё раз');                     steam.weblogon(function(newcookie) {                         offers.setup({                             sessionid: globalsessionid,                             webcookie: newcookie                         }, function(err) {                             if (err) {                             }                         });                     });                     return;                 }                 var item=0;                 (var = 0; < items.length; i++) {                         if((items[i].market_name).indexof(params[1]) != -1) {                              item = items[i].id;                              break;                         }                     }                 if (item != 0) {                     offers.makeoffer ({                         partnersteamid: steamid,                         itemsfromme: [                         {                             appid: 730,                             contextid: 2,                             amount: 1,                             assetid: item                         }                         ],                         itemsfromthem: [],                         message: ''                     }, function(err, response){                         if (err) {                             throw err;                         }                         steam.sendmessage(steamid, 'Обмен отправлен!');                     });                 }             });         } else if(message.indexof("/show") == 0) {             var params = message.split(' ');             offers.loadmyinventory({                 appid: 730,                 contextid: 2             }, function(err, items) {                 if(err) {                     steam.sendmessage(steamid, 'Не могу загрузить свой инвентарь, попробуй ещё раз');                     steam.weblogon(function(newcookie) {                         offers.setup({                             sessionid: globalsessionid,                             webcookie: newcookie                         }, function(err) {                             if (err) {                             }                         });                     });                     return;                 }                 steam.sendmessage(steamid,'Смотри: ');                   (var = 0; < items.length; i++) {                     steam.sendmessage(steamid,'http://steamcommunity.com/id/xxx/inventory/'+items[i].appid+'_'+items[i].contextid+'_'+items[i].id);                  }             });         }     }     steamuserinfo.getuserinfo(steamid, function(error, data){         if(error) throw error;         var datadec = json.parse(json.stringify(data.response));         var name = datadec.players[0].personaname;         console.log(name + ': ' + message); // log     });     //steam.sendmessage(steamid, 'i\'m bot accepts unwanted items.  if grab few crates me, please request trade.'); });  function checkoffers(number) {     if (number > 0) {         offers.getoffers({             get_received_offers: 1,             active_only: 1,             get_sent_offers: 0,             get_descriptions: 1,             language: "en_us"         }, function(error, body) {             if(error) return;             if(body.response.trade_offers_received){                 body.response.trade_offers_received.foreach(function(offer) {                     if (offer.trade_offer_state == 2){                         if(offer.items_to_give) {                             offers.declineoffer({tradeofferid: offer.tradeofferid});                             return;                         }                         mysqlconnection.query('select `value` `info` `name`=\'maxitems\'', function(err, row, fields) {                             if(offer.items_to_receive.length > row[0].value) {                                 offers.declineoffer({tradeofferid: offer.tradeofferid});                                 offer.items_to_receive = [];                                 mysqlconnection.query('insert `messages` (`userid`,`msg`,`from`) values (\''+offer.steamid_other+'\',\'toomuch\',\'system\')', function(err, row, fields) {});                                 return;                             }                         });                         offers.loadpartnerinventory({partnersteamid: offer.steamid_other, appid: 730, contextid: 2, tradeofferid: offer.tradeofferid, language: "en"}, function(err, hitems) {                             if(err) {                                 steam.weblogon(function(newcookie) {                                     offers.setup({                                         sessionid: globalsessionid,                                         webcookie: newcookie                                     }, function(err) {                                         if (err) {                                         }                                     });                                 });                                 recheck = true;                                 return;                             }                             var items = offer.items_to_receive;                             var wgg=[],num=0;                             (var = 0; < items.length; i++) {                                 for(var j=0; j < hitems.length; j++) {                                     if(items[i].assetid == hitems[j].id) {                                         wgg[num] = hitems[j];                                         num++;                                         break;                                     }                                 }                             }                             var price=[];                             for(var i=0; < num; i++) {                                 if(wgg[i].appid != 730) {                                     offers.declineoffer({tradeofferid: offer.tradeofferid});                                     mysqlconnection.query('insert `messages` (`userid`,`msg`,`from`) values (\''+offer.steamid_other+'\',\'onlycsgo\',\'system\')', function(err, row, fields) {});                                     return;                                 }                                 if(wgg[i].market_name.indexof("souvenir") != -1) {                                     offers.declineoffer({tradeofferid: offer.tradeofferid});                                     mysqlconnection.query('insert `messages` (`userid`,`msg`,`from`) values (\''+offer.steamid_other+'\',\'souvenir\',\'system\')', function(err, row, fields) {});                                     return;                                 }                                 var itemname = wgg[i].market_name;                                 var url = 'http://'+sitename+'/cost.php?item='+encodeuricomponent(itemname);                                 (function(someshit) {                                 request(url, function(error, response, body){                                     if(!error && response.statuscode === 200){                                         if(body == "notfound") { offers.declineoffer({tradeofferid: offer.tradeofferid}); mysqlconnection.query('insert `messages` (`userid`,`msg`,`from`) values (\''+offer.steamid_other+'\',\'notavailable\',\'system\')', function(err, row, fields) {}); }                                         else {                                             wgg[someshit].cost = parsefloat(body);                                         }                                     } else offers.declineoffer({tradeofferid: offer.tradeofferid});                                 });})(i)                             }                             settimeout(function() {                                 var sum=0;                                 for(var i=0; < num; i++) {                                     sum += wgg[i].cost;                                 }                                 mysqlconnection.query('select `value` `info` `name`=\'minbet\'', function(err, row, fields) {                                     if(sum < row[0].value) {                                          num = 0;                                         offers.declineoffer({tradeofferid: offer.tradeofferid});                                         mysqlconnection.query('insert `messages` (`userid`,`msg`,`from`) values (\''+offer.steamid_other+'\',\'toosmall!\',\'system\')', function(err, row, fields) {});                                         return;                                     }                                 });                                                 steamuserinfo.getuserinfo(offer.steamid_other, function(error, data){                                                     if(error) throw error;                                                     var datadec = json.parse(json.stringify(data.response));                                                     var name = datadec.players[0].personaname;                                                     var avatar = datadec.players[0].avatarfull;                                                      if(num == 0) return;                                                      mysqlconnection.query('select `value` `info` `name`=\'current_game\'', function(err, row, fields) {                                                         var current_game = (row[0].value);                                                         mysqlconnection.query('select `cost`,`itemsnum` `games` `id`=\''+current_game+'\'', function(err, row, fields) {                                                             var current_bank = parsefloat(row[0].cost);                                                             var itemsnum = row[0].itemsnum;                                                          if(item.length > 0)     {                                                                  mysqlconnection.query('update `games` set `starttime`=unix_timestamp() `id` = \'' + current_game + '\'', function(err, row, fields) {});                                                             }                                                              for(var j=0; j < num; j++) {                                                                 mysqlconnection.query('insert `game' + current_game + '` (`userid`,`username`,`item`,`color`,`value`,`avatar`,`image`,`from`,`to`) values (\'' + offer.steamid_other + '\',\'' + name + '\',\'' + wgg[j].market_name + '\',\'' + wgg[j].name_color + '\',\'' + wgg[j].cost + '\',\'' + avatar + '\',\'' + wgg[j].icon_url + '\',\''+current_bank+'\'+\'0\',\''+current_bank+'\'+\''+wgg[j].cost+'\')', function(err, row, fields) {});                                                                 mysqlconnection.query('update `games` set `itemsnum`=`itemsnum`+1, `cost`=`cost`+\''+wgg[j].cost+'\' `id` = \'' + current_game + '\'', function(err, row, fields) {});                                                                 current_bank = parsefloat(current_bank + wgg[j].cost);                                                                 itemsnum++;                                                             }                                                               if(itemsnum > 50) {                                                                 proceedwinners();                                                             }                                                             offers.acceptoffer({tradeofferid: offer.tradeofferid});                                                             console.log('accepted trade offer #'+offer.tradeofferid+' '+name+' ('+offer.steamid_other+')');                                                         });                                                     });                                                 });                                 },3000);                         });                     }                 });             }         });     } }  var pew; steam.on('tradeoffers', checkoffers);  steam.on('sentry', function(data) {     require('fs').writefilesync('sentry_'+logonoptions['accountname']+'.hash', data); }); 

thank you.

as stated in message, error on line 419 in statement:

if(item.length > 0)     {     mysqlconnection.query('update `games` set `starttime`=unix_timestamp() `id` = \'' + current_game + '\'', function(err, row, fields) {}); } 

item not defined. perhaps meant row?


Comments