diff --git a/src/endpoints/nightbot/advanced.ts b/src/endpoints/nightbot/advanced.ts index f9d7b11..9319ae2 100644 --- a/src/endpoints/nightbot/advanced.ts +++ b/src/endpoints/nightbot/advanced.ts @@ -27,6 +27,7 @@ interface subcommandMetadata { const subcommands: {[index: string]: any} = { "add": { + allowIgnored: false, argc: 1, async handler(request: Request, meta: subcommandMetadata, args: string[]) { // args: !cmd add [delta:integer] @@ -44,9 +45,10 @@ const subcommands: {[index: string]: any} = { }; }, }, - "sub": { argc: 1, handler: subtractHandler, }, - "remove": { argc: 1, handler: subtractHandler, }, + "sub": { allowIgnored: false, argc: 1, handler: subtractHandler, }, + "remove": { allowIgnored: false, argc: 1, handler: subtractHandler, }, "new": { + allowIgnored: false, argc: 1, async handler(request: Request, meta: subcommandMetadata, args: string[]) { // args: !cmd new @@ -60,6 +62,7 @@ const subcommands: {[index: string]: any} = { }, }, "get": { + allowIgnored: true, argc: 1, async handler(request: Request, meta: subcommandMetadata, args: string[]) { const { channel } = meta; @@ -79,6 +82,7 @@ const subcommands: {[index: string]: any} = { }, "default": { argc: 0, + allowIgnored: false, async handler(request: Request, meta: subcommandMetadata, args: string[]) { // args: !cmd [delta:number] let { channel } = meta; @@ -133,7 +137,9 @@ const route: ServerRoute = { return `The channel isn't setup to use the counter system`; }; - if (await database.isUserIgnored(channel, user)) { return `Invalid permissions`; }; + if (!sc.allowIgnored && await database.isUserIgnored(channel, user)) { + return `Invalid permission`; + }; try { var { message, value } = await sc.handler(