db.query('SELECT UserJoinTime AS lastJoinTime FROM UserData WHERE UserID=?', user.id, function (err, result) {
   if (err) {
     foxbot.handleDisconnect(db);
   }
   else {
     foxbot.foxy.userData.lastJoinTime = result[0].lastJoinTime;
   }
 });
 db.query('SELECT UserID AS userCountDB FROM UserData WHERE UserOnline=?', 1, function (err, result){
   if (err) {
     foxbot.handleDisconnect(db);
   }
   else {
     foxbot.foxy.roomData.userCount = result.length;
   }
 });
 db.on('error', function (err) {
   if (!err.fatal) return;
   if (err.code !== 'PROTOCOL_CONNECTION_LOST') throw err;
     foxbot.log(foxbot.console.info + 'Re-connecting lost MySQL connection: ' + err.stack);
     db = mysql.createConnection(dbconfig);
     foxbot.handleDisconnect(db);
     db.connect();
 });
 db.query('SELECT UserName AS username FROM UserData WHERE UserID=?', user.id, function (err, result) {
   if (err) {
     foxbot.handleDisconnect(db);
   }
   else {
     var username = result[0].username;
     foxbot.log(foxbot.console.leave + username + ' left the room');
   }
 });
 db.query('UPDATE UserData SET UserOnline=? WHERE UserID=?', [0,user.id], function (err) {
   if (err) {
     foxbot.handleDisconnect(db);
   }
 });
 db.query('UPDATE UserData SET ? WHERE UserID=?',[updateUser, user.id], function (err) {
   if (err) {
     foxbot.handleDisconnect(db);
   }
 });
 db.query('INSERT INTO UserData SET ? ON DUPLICATE KEY UPDATE ?', [require('merge')({UserID: user.id}, updateUser), updateUser], function (err) {
   if (err) {
     foxbot.handleDisconnect(db);
   }
 });