|
|
|
@ -12,7 +12,7 @@ let logger = require('winston'),
|
|
|
|
|
exports.Servant = class {
|
|
|
|
|
constructor(prefix) {
|
|
|
|
|
this.commands = {};
|
|
|
|
|
this.createCommand(((prefix || '~')+'help') || "~help", () => {
|
|
|
|
|
this.createCommand(((prefix || '~') + 'help') || "~help", () => {
|
|
|
|
|
let helpstr = "```markdown\n";
|
|
|
|
|
helpstr += "Commands\n---\n";
|
|
|
|
|
// TODO: Duplicate commands should not appear or make two sections, one with global commands, one with server commands
|
|
|
|
@ -34,7 +34,7 @@ exports.Servant = class {
|
|
|
|
|
* @param description
|
|
|
|
|
*/
|
|
|
|
|
createCommand(command, call, args, description) {
|
|
|
|
|
this.commands[command] = {
|
|
|
|
|
this.commands[command] = {
|
|
|
|
|
'args': args,
|
|
|
|
|
'description': description,
|
|
|
|
|
'callback': call
|
|
|
|
@ -78,7 +78,7 @@ exports.Servant = class {
|
|
|
|
|
* Getting the logger
|
|
|
|
|
* @param {Object} newLogger
|
|
|
|
|
*/
|
|
|
|
|
exports.setLogger = function(newLogger) {
|
|
|
|
|
exports.setLogger = function (newLogger) {
|
|
|
|
|
logger = newLogger;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
@ -89,8 +89,8 @@ exports.setLogger = function(newLogger) {
|
|
|
|
|
* @param args
|
|
|
|
|
* @param description
|
|
|
|
|
*/
|
|
|
|
|
exports.createGlobalCommand = function(command, call, args, description) {
|
|
|
|
|
globCommands[command] = {
|
|
|
|
|
exports.createGlobalCommand = function (command, call, args, description) {
|
|
|
|
|
globCommands[command] = {
|
|
|
|
|
'args': args || [],
|
|
|
|
|
'description': description,
|
|
|
|
|
'callback': call
|
|
|
|
@ -104,16 +104,16 @@ exports.createGlobalCommand = function(command, call, args, description) {
|
|
|
|
|
* @param msg
|
|
|
|
|
* @returns {boolean|*}
|
|
|
|
|
*/
|
|
|
|
|
exports.parseMessage = function(msg) {
|
|
|
|
|
exports.parseMessage = function (msg) {
|
|
|
|
|
return parseGlobalCommand(msg);
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Initializes the module by creating a help command
|
|
|
|
|
*/
|
|
|
|
|
exports.init = function(prefix) {
|
|
|
|
|
exports.init = function (prefix) {
|
|
|
|
|
logger.verbose("Created help command");
|
|
|
|
|
this.createGlobalCommand((prefix+'help') || "~help", () => {
|
|
|
|
|
this.createGlobalCommand((prefix + 'help') || "~help", () => {
|
|
|
|
|
let helpstr = "```markdown\n";
|
|
|
|
|
helpstr += "Commands\n---\n";
|
|
|
|
|
Object.entries(globCommands).forEach(([key, value]) => {
|
|
|
|
|