diff --git a/config.json.sample b/config.json.sample index e982e5e..bd5e443 100644 --- a/config.json.sample +++ b/config.json.sample @@ -16,5 +16,6 @@ "moduleNames": [ "ignore", "admin", "command", "dice", "js", "kick", "quotes", "spelling", "youare", "timers", "stats", "users", "link" ], "language": "en", "debugMode": false, + "debugLevel": 1, "version": "Depressionbot IRC bot 0.4-dev - Lovingly crafted by The DepressionBot Foundation (a charity arm of the Official Aberystwyth Open Source International Development League)." } diff --git a/modules/admin/commands.js b/modules/admin/commands.js index 583b09e..176c81a 100644 --- a/modules/admin/commands.js +++ b/modules/admin/commands.js @@ -77,7 +77,6 @@ var commands = function(dbot) { }.bind(this)); }, - 'status': function(event) { var moduleName = event.params[1]; if(_.has(dbot.status, moduleName)) { @@ -162,8 +161,13 @@ var commands = function(dbot) { newOption = (newOption == "true"); } + // Convert to integer type is config item integer + if(_.isNumber(currentOption)) { + newOption = parseInt(newOption); + } + if(_.isArray(currentOption)) { - event.reply(dbot.t("config_array",{"alternate": "pushconfig"})); + event.reply(dbot.t("config_array", { "alternate": "pushconfig" })); } event.reply(configPath + ": " + config + " -> " + newOption); diff --git a/modules/command/command.js b/modules/command/command.js index 990d512..ab4540b 100644 --- a/modules/command/command.js +++ b/modules/command/command.js @@ -39,9 +39,15 @@ var command = function(dbot) { } } catch(err) { if(dbot.config.debugMode == true) { + var stack = err.stack.split('\n').slice(1, dbot.config.debugLevel + 1); + event.reply('- Error in ' + commandName + ':'); event.reply('- Message: ' + err); - event.reply('- Top of stack: ' + err.stack.split('\n')[1].trim()); + + _.each(stack, function(stackLine, index) { + event.reply('- Stack[' + index + ']: ' + + stackLine.trim()); + }); } } dbot.save(); diff --git a/modules/github b/modules/github index 86227ce..6e841d9 160000 --- a/modules/github +++ b/modules/github @@ -1 +1 @@ -Subproject commit 86227ce8fca8e24f56a24cf50c1b4823ab1c5071 +Subproject commit 6e841d96df413a8039b15a53ef0c6b77630b552a diff --git a/run.js b/run.js index 2af040c..b63613f 100644 --- a/run.js +++ b/run.js @@ -295,7 +295,19 @@ DBot.prototype.reloadModules = function() { } this.modules[module.name] = module; +<<<<<<< HEAD }.bind(this)); +======= + } catch(err) { + console.log(this.t('module_load_error', { 'moduleName': name })); + this.status[name] = err + ' - ' + err.stack.split('\n')[1].trim(); + if(this.config.debugMode) { + console.log('MODULE ERROR (' + name + '): ' + err.stack ); + } else { + console.log('MODULE ERROR (' + name + '): ' + err ); + } + } +>>>>>>> 2afb1c6ba37eb92f875124c754453bb063f42277 }.bind(this)); process.nextTick(function() {