From 14c98e87df1ec4fd762bbc48ca4c06470cb110a2 Mon Sep 17 00:00:00 2001 From: PalmDevs Date: Tue, 4 Mar 2025 02:15:19 +0700 Subject: [PATCH] fix(bots/discord): delete expired appliedPresets entries after unapplying --- bots/discord/src/events/discord/ready.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bots/discord/src/events/discord/ready.ts b/bots/discord/src/events/discord/ready.ts index a719d4b..6d54ab8 100644 --- a/bots/discord/src/events/discord/ready.ts +++ b/bots/discord/src/events/discord/ready.ts @@ -3,7 +3,7 @@ import { appliedPresets } from '$/database/schemas' import { applyCommonEmbedStyles } from '$/utils/discord/embeds' import { on, withContext } from '$/utils/discord/events' import { removeRolePreset } from '$/utils/discord/rolePresets' -import { lt } from 'drizzle-orm' +import { and, eq, lt } from 'drizzle-orm' import type { Client } from 'discord.js' @@ -92,11 +92,15 @@ const removeExpiredPresets = async (client: Client) => { for (const expired of expireds) try { + logger.debug(`Removing role preset for ${expired.memberId} in ${expired.guildId}`) + const guild = await client.guilds.fetch(expired.guildId) const member = await guild.members.fetch(expired.memberId) - logger.debug(`Removing role preset for ${expired.memberId} in ${expired.guildId}`) await removeRolePreset(member, expired.preset) + await database + .delete(appliedPresets) + .where(and(eq(appliedPresets.guildId, expired.guildId), eq(appliedPresets.memberId, expired.memberId))) } catch (e) { logger.error(`Error while removing role preset for ${expired.memberId} in ${expired.guildId}: ${e}`) }