From 3c293d371af903de2c455cdfb4004e5afa7f2b99 Mon Sep 17 00:00:00 2001 From: Oliver Akins Date: Sun, 14 Aug 2022 14:21:15 -0600 Subject: [PATCH] Update the Nightbot command to use the async'd DB --- src/endpoints/nightbot/advanced.ts | 36 ++++++++++++++---------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/src/endpoints/nightbot/advanced.ts b/src/endpoints/nightbot/advanced.ts index 763b00d..403463b 100644 --- a/src/endpoints/nightbot/advanced.ts +++ b/src/endpoints/nightbot/advanced.ts @@ -4,20 +4,20 @@ import { database } from "$/main"; import boom from "@hapi/boom"; import Joi from "joi"; -function subtractHandler(request: Request, meta: subcommandMetadata, args: string[]) { +async function subtractHandler(request: Request, meta: subcommandMetadata, args: string[]) { // args: !cmd sub [delta:integer] // args: !cmd remove [delta:integer] let { channel } = meta; let counter = args[1].toLowerCase(); let delta = args[2] ? parseInt(args[2]) : 1; - if (!database.counterExists(channel, counter)) { + if (!await database.counterExists(channel, counter)) { throw new Error(`No counter exists with that name`); }; return { - value: database.changeCount(channel, counter, -delta), - message: database.getMessage(channel, counter) + value: await database.changeCount(channel, counter, -delta), + message: await database.getMessage(channel, counter) }; }; @@ -28,19 +28,19 @@ interface subcommandMetadata { const subcommands: {[index: string]: any} = { "add": { argc: 1, - handler(request: Request, meta: subcommandMetadata, args: string[]) { + async handler(request: Request, meta: subcommandMetadata, args: string[]) { // args: !cmd add [delta:integer] let { channel } = meta; let counter = args[1].toLowerCase(); let delta = args[2] ? parseInt(args[2]) : 1; - if (!database.counterExists(channel, counter)) { + if (!await database.counterExists(channel, counter)) { throw new Error(`No counter exists with that name`); }; return { - value: database.changeCount(channel, counter, delta), - message: database.getMessage(channel, counter), + value: await database.changeCount(channel, counter, delta), + message: await database.getMessage(channel, counter), }; }, }, @@ -48,11 +48,11 @@ const subcommands: {[index: string]: any} = { "remove": { argc: 1, handler: subtractHandler, }, "new": { argc: 1, - handler(request: Request, meta: subcommandMetadata, args: string[]) { + async handler(request: Request, meta: subcommandMetadata, args: string[]) { // args: !cmd new let { channel } = meta; let counter = args[1].toLowerCase(); - database.addCounter(channel, counter); + await database.addCounter(channel, counter); return { message: `Counter ${counter} created successfully.`, value: 0 @@ -61,19 +61,19 @@ const subcommands: {[index: string]: any} = { }, "default": { argc: 0, - handler(request: Request, meta: subcommandMetadata, args: string[]) { + async handler(request: Request, meta: subcommandMetadata, args: string[]) { // args: !cmd [delta:number] let { channel } = meta; let counter = args[0].toLowerCase(); let delta = args[1] ? parseInt(args[1]) : 1; - if (!database.counterExists(channel, counter)) { + if (!await database.counterExists(channel, counter)) { throw new Error(`No counter exists with that name`); }; return { - value: database.changeCount(channel, counter, delta), - message: database.getMessage(channel, counter) + value: await database.changeCount(channel, counter, delta), + message: await database.getMessage(channel, counter) }; }, }, @@ -111,16 +111,14 @@ const route: ServerRoute = { if (!user) { throw boom.badData(`Missing user name`) }; - if (!database.channelExists(channel)) { + if (!await database.channelExists(channel)) { return `The channel isn't setup to use the counter system`; }; - if (database.isUserIgnored(channel, user)) { return `Invalid permissions`; }; - - console.log(`[${channel}] ${user} is running command with args: ${args}`); + if (await database.isUserIgnored(channel, user)) { return `Invalid permissions`; }; try { - var { message, value } = sc.handler( + var { message, value } = await sc.handler( request, { channel, user }, args