From 7ca233fb24bffe341504a8dc64168c23e354e1a4 Mon Sep 17 00:00:00 2001 From: Danya H Date: Thu, 6 Jun 2024 05:24:25 +0100 Subject: [PATCH] set status command --- src/commands/setters/set-status.ts | 35 ++++++++++++++++++++++++++++++ src/db.ts | 1 + 2 files changed, 36 insertions(+) create mode 100644 src/commands/setters/set-status.ts diff --git a/src/commands/setters/set-status.ts b/src/commands/setters/set-status.ts new file mode 100644 index 0000000..5c71c03 --- /dev/null +++ b/src/commands/setters/set-status.ts @@ -0,0 +1,35 @@ +import { Discord, Slash, SlashChoice, SlashOption } from 'discordx' +import { ApplicationCommandOptionType, CommandInteraction } from 'discord.js' +import { db, DBTableEnum } from '../../db' + +enum Status { + AVAILABLE = 'AVAILABLE', + BUSY = 'BUSY', + NOT_AVAILABLE = 'NOT_AVAILABLE', +} + +@Discord() +export class SetStatus { + @Slash({ + description: 'Set status', + name: 'set-status', + defaultMemberPermissions: 'Administrator', + }) + async setPriceChannel( + @SlashChoice(Status.AVAILABLE, Status.BUSY, Status.NOT_AVAILABLE) + @SlashOption({ + name: 'status', + description: 'Current workload status', + required: true, + type: ApplicationCommandOptionType.String, + }) + status: string, + interaction: CommandInteraction, + ) { + await db.set(DBTableEnum.WORKLOAD, status).then(x => console.log(x)) + await interaction.reply({ + ephemeral: true, + content: `Status set to: ${status}`, + }) + } +} diff --git a/src/db.ts b/src/db.ts index 3ec6ca6..8925e09 100644 --- a/src/db.ts +++ b/src/db.ts @@ -10,4 +10,5 @@ export enum DBTableEnum { MAKE_AN_ORDER_CHANNEL = 'MAKE_AN_ORDER_CHANNEL', PRICE_CHANNEL = 'PRICE_CHANNEL', BANNER_URL = 'BANNER_URL', + WORKLOAD = 'STATUS', }