diff --git a/db/initialize.ts b/db/initialize.ts index 94e1471..1a1e3d1 100644 --- a/db/initialize.ts +++ b/db/initialize.ts @@ -13,7 +13,7 @@ console.log('Attempt to drop all tables'); await dbClient.execute(`DROP PROCEDURE IF EXISTS INC_CNT;`); await dbClient.execute(`DROP TABLE IF EXISTS command_cnt;`); await dbClient.execute(`DROP TABLE IF EXISTS guild_settings;`); -await dbClient.execute(`DROP TABLE IF EXISTS active_event;`); +await dbClient.execute(`DROP TABLE IF EXISTS active_events;`); console.log('Tables dropped'); console.log('Attempting to create table command_cnt'); @@ -52,9 +52,9 @@ await dbClient.execute(` `); console.log('Table created'); -console.log('Attempting to create table active_event'); +console.log('Attempting to create table active_events'); await dbClient.execute(` - CREATE TABLE active_event ( + CREATE TABLE active_events ( messageId bigint unsigned NOT NULL, channelId bigint unsigned NOT NULL, guildId bigint unsigned NOT NULL, diff --git a/src/db.ts b/src/db.ts index 48e29fd..762fb44 100644 --- a/src/db.ts +++ b/src/db.ts @@ -13,8 +13,8 @@ export const dbClient = await new Client().connect({ export const queries = { callIncCnt: (cmdName: string) => `CALL INC_CNT("${cmdName}");`, - insertEvent: 'INSERT INTO active_event(messageId,channelId,guildId,ownerId,eventTime) values(?,?,?,?,?)', - deleteEvent: 'DELETE FROM active_event WHERE channelId = ? AND messageId = ?', + insertEvent: 'INSERT INTO active_events(messageId,channelId,guildId,ownerId,eventTime) values(?,?,?,?,?)', + deleteEvent: 'DELETE FROM active_events WHERE channelId = ? AND messageId = ?', }; export const lfgChannelSettings: Map = new Map(); diff --git a/src/events/guildDelete.ts b/src/events/guildDelete.ts index 37ce7f0..1e7a29b 100644 --- a/src/events/guildDelete.ts +++ b/src/events/guildDelete.ts @@ -1,20 +1,28 @@ import config from '../../config.ts'; import { Bot, log, LT } from '../../deps.ts'; import { warnColor } from '../commandUtils.ts'; -import { dbClient } from '../db.ts'; +import { dbClient, lfgChannelSettings } from '../db.ts'; import utils from '../utils.ts'; export const guildDelete = async (bot: Bot, guildId: bigint) => { log(LT.LOG, `Handling leaving guild ${utils.jsonStringifyBig(guildId)}`); + // Clean the DB try { - await dbClient.execute('DELETE FROM guild_prefix WHERE guildId = ?', [guildId]); - await dbClient.execute('DELETE FROM guild_mod_role WHERE guildId = ?', [guildId]); - await dbClient.execute('DELETE FROM guild_clean_channel WHERE guildId = ?', [guildId]); + await dbClient.execute('DELETE FROM guild_settings WHERE guildId = ?', [guildId]); + await dbClient.execute('DELETE FROM active_events WHERE guildId = ?', [guildId]); } catch (e) { log(LT.WARN, `Failed to remove guild from DB: ${utils.jsonStringifyBig(e)}`); } + // Clean lfgChannelSettings + lfgChannelSettings.forEach((_val, key) => { + if (key.startsWith(`${guildId}-`)) { + lfgChannelSettings.delete(key); + } + }); + + // Send Log Message bot.helpers.sendMessage(config.logChannel, { embeds: [{ title: 'Removed from Guild',