From 05b6bff8d61868d187d517e8ac0594866960b301 Mon Sep 17 00:00:00 2001 From: net-tech- Date: Sat, 20 Jan 2024 18:19:59 +0100 Subject: [PATCH] chore: last min things --- CHANGELOG.MD | 5 +++++ src/events/guildDelete.ts | 17 +++++++++++++++++ src/jobs/prune.ts | 7 +------ 3 files changed, 23 insertions(+), 6 deletions(-) create mode 100644 src/events/guildDelete.ts diff --git a/CHANGELOG.MD b/CHANGELOG.MD index bded7eb..4ee5ed6 100644 --- a/CHANGELOG.MD +++ b/CHANGELOG.MD @@ -1,5 +1,10 @@ # Changelog +## Version 2.1.0 +- Bump dependencies +- Show guild count and memory usage in /about +- Delete guilds from database when the bot leaves them + ## Version 2.0.1 - Fetch guilds which can be pruned from the database and loop over them, instead of fetching all guilds the client is in and then fetching the settings of each guild from the database. - Add `select` to database functions. diff --git a/src/events/guildDelete.ts b/src/events/guildDelete.ts new file mode 100644 index 0000000..eba8186 --- /dev/null +++ b/src/events/guildDelete.ts @@ -0,0 +1,17 @@ +import { Events } from "discord.js" +import { logger } from "../util/logger.js" +import type { Event } from "./index.js" +import { prisma } from "../util/database.ts"; + +export default { + name: Events.GuildDelete, + once: true, + async execute(guild) { + logger.info(`Left guild ${guild.name} (${guild.id})`) + prisma.guild.delete({ + where: { + id: guild.id + } + }) + } +} satisfies Event<"guildDelete"> diff --git a/src/jobs/prune.ts b/src/jobs/prune.ts index 3dc7b30..3388d6c 100644 --- a/src/jobs/prune.ts +++ b/src/jobs/prune.ts @@ -46,13 +46,8 @@ const pruneJob = async (client: Client) => { const clientGuild = await client.guilds.fetch(guildSetting.id) if (!clientGuild) { logger.warn( - `Skipping prune for guild ${guildSetting.id} because I am not in it and deleting it from the database.` + `Skipping prune for guild ${guildSetting.id} because I am not in it.` ) - await prisma.guild.delete({ - where: { - id: guildSetting.id - } - }) continue }