From 1fdb8f451b9ffeea2e32b3f72eb77646a9c0f702 Mon Sep 17 00:00:00 2001 From: Danya H Date: Sat, 8 Jun 2024 15:20:01 +0100 Subject: [PATCH] set status edits message from ticket --- src/commands/admin/create-ticket-system.ts | 1 + src/commands/admin/set-status.ts | 16 ++++++++++++++-- src/db.ts | 1 + 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/commands/admin/create-ticket-system.ts b/src/commands/admin/create-ticket-system.ts index 0482179..278d0e4 100644 --- a/src/commands/admin/create-ticket-system.ts +++ b/src/commands/admin/create-ticket-system.ts @@ -99,6 +99,7 @@ export class CreateTicketSystem { embeds: [ticketWorkloadEmbed({ workload })], }) await db.set(DBTableEnum.WORKLOAD_MESSAGE, workloadMessage.id) + await db.set(DBTableEnum.WORKLOAD_CHANNEL, interaction.channel.id) // close interaction await interaction.editReply('✔️ Created ticket system') diff --git a/src/commands/admin/set-status.ts b/src/commands/admin/set-status.ts index 679f53a..a34d903 100644 --- a/src/commands/admin/set-status.ts +++ b/src/commands/admin/set-status.ts @@ -1,8 +1,8 @@ import { Discord, Slash, SlashChoice, SlashOption } from 'discordx' -import { ApplicationCommandOptionType, CommandInteraction } from 'discord.js' +import { ApplicationCommandOptionType, CommandInteraction, GuildBasedChannel } from 'discord.js' import { db, DBTableEnum } from '../../db' -import { Workload } from '../../utils' +import { ticketWorkloadEmbed, Workload } from '../../utils' import { logger } from '../../lib' @Discord() @@ -30,6 +30,18 @@ export class SetStatus { }) return }) + + const statusMsg = await db.get(DBTableEnum.WORKLOAD_MESSAGE) + const statusChannelId = await db.get(DBTableEnum.WORKLOAD_CHANNEL) + if (statusMsg && statusChannelId) { + const statusChannel = await interaction.guild?.channels.fetch(statusChannelId) + if (!statusChannel || !statusChannel.isTextBased()) return + const workloadMsg = await statusChannel.messages.fetch(statusMsg) + await workloadMsg.edit({ + embeds: [ticketWorkloadEmbed({ workload: status as Workload })] + }) + } + logger.database(DBTableEnum.WORKLOAD, status) await interaction.editReply({ content: `✔️ Set workload status to ${status}`, diff --git a/src/db.ts b/src/db.ts index 470b26d..98ec9d0 100644 --- a/src/db.ts +++ b/src/db.ts @@ -11,5 +11,6 @@ export enum DBTableEnum { BANNER_URL = 'BANNER_URL', WORKLOAD = 'WORKLOAD', WORKLOAD_MESSAGE = 'WORKLOAD_MESSAGE', + WORKLOAD_CHANNEL = 'WORKLOAD_CHANNEL', TICKET_ROLE = 'TICKET_ROLE', }