var cmdopt = require('cmdopt') , os = require('os') , repl = require('repl') , _ = require('underscore'); var parser = new cmdopt.Parser(); parser.option("-h, --help", "show help"); parser.option("-c, --channel=CHANNEL", "IRC channel to join"); parser.option("-n, --nick=NICK", "Nickname of the bot"); parser.option("--checkinsUrl", "URL to use when looking for checkins"); var args = process.argv.slice(2); var defaults = { channel: "#bitraf", checkinsUrl: 'http://hermes.bitraf.no/~trygvis/checkins/checkins-by-day.php?from=today', nick: os.hostname() }; try { var config = parser.parse(args); if (config.help) { console.log(parser.help()); return; } config = _.defaults(config, defaults); console.log("configuration: ", config); var bot = require('./lib/BitrafBot.js')(config); var r = repl.start('irc> '); r.context.bot = bot; r.context.config = config; } catch (ex) { if (ex instanceof cmdopt.ParseError) { process.stderr.write(ex.message + "\n"); process.exit(1); } throw ex; }