From afa0a70f8a86cfee054856d9fcf14d508d60fcdc Mon Sep 17 00:00:00 2001 From: powermaker450 Date: Sun, 13 Oct 2024 13:44:20 -0400 Subject: [PATCH] If a confession is removed by deletion, delete it internally too --- src/main.ts | 11 +++++++++++ src/storeman/client.ts | 10 ++++++++++ 2 files changed, 21 insertions(+) diff --git a/src/main.ts b/src/main.ts index 14c5531..cde6d9f 100644 --- a/src/main.ts +++ b/src/main.ts @@ -64,6 +64,17 @@ BotClient.on(Events.InteractionCreate, async interaction => { } }); +BotClient.on(Events.MessageDelete, async message => { + const id = message.guild?.id!; + const confessions = dt.getGuildInfo(id)?.confessions!; + + for (const confession of confessions) { + if (confession.messageId === id) { + dt.adminDelConfession(id, confession.id); + } + } +}); + BotClient.on(Events.InteractionCreate, async interaction => { if (!interaction.isModalSubmit()) { return; diff --git a/src/storeman/client.ts b/src/storeman/client.ts index 75345d6..34d27d0 100644 --- a/src/storeman/client.ts +++ b/src/storeman/client.ts @@ -199,6 +199,16 @@ export class StoreMan { return false; } + public adminDelConfession(guildId: string, confessionId: string): void { + for (const guild of this.data) { + if (guild.id === guildId) { + guild.confessions = guild.confessions.filter(confession => { + return confession.id !== confessionId; + }); + } + } + } + // Check if a certain user is banned within a guild. public isBanned(guildId: string, userId: string): boolean { for (const guild of this.data) {