// Start without app function prompt(question, callback) { var stdin = process.stdin, stdout = process.stdout; stdin.resume(); stdout.write(question); stdin.once('data', function (data) { callback(data.toString().trim()); }); } const fs = require('fs'); const winston = require('winston'); require('winston-daily-rotate-file'); const path = require('path'); // Load config const config = require('./config'); // Load new plugins const PluginManager = require('./plugins/pluginManager.js'); const pluginManager = new PluginManager(config); pluginManager.loadAllPlugins(); // Configure logger // create a write stream (in append mode) const logDirectory = __dirname + '/log'; // ensure log directory exists if(!fs.existsSync(logDirectory)) { fs.mkdirSync(logDirectory); } var logger = new (winston.Logger)({ transports: [ new (winston.transports.Console)(), new (winston.transports.DailyRotateFile)({ filename: logDirectory + '/ircbot-test.log', datePattern: '.yyyy-MM-dd', maxsize: 20000 }) ] }); const isPm = false function query() { prompt('> ', function (message) { if(!isPm) { pluginManager.testPlugins(message).then(function(results) { for(var i = 0; i < results.length; i++) { console.log(results[i]); } query() }, function(error) { logger.error('Plugin error: ', error); }); } else { // PM pluginManager.testPlugins(message, false).then(function(results) { for(var i = 0; i < results.length; i++) { console.log(results[i]); } query() }, function(error) { logger.error('Plugin error: ', error); }); } }); } query()