diff --git a/src/commands/timezones.ts b/src/commands/timezones.ts index 1a0a7f1..b7fafc8 100644 --- a/src/commands/timezones.ts +++ b/src/commands/timezones.ts @@ -19,8 +19,8 @@ module.exports = { ) .addSubcommand((command) => command - .setName('difference') - .setDescription('Shows the differences between your timezone and another user') + .setName('diff') + .setDescription('Shows the differences between your timezone and another @user') .addUserOption((option) => option.setName('user').setDescription('@username').setRequired(true), ), diff --git a/src/controllers/bot/plugins.controller.ts b/src/controllers/bot/plugins.controller.ts index 50d5b74..14881d2 100644 --- a/src/controllers/bot/plugins.controller.ts +++ b/src/controllers/bot/plugins.controller.ts @@ -72,30 +72,31 @@ export const resolveGuildPlugins = async ( pluginName: string, ): Promise => { try { - const { data: guildPlugin } = await supabase + const { data: guildPluginResult } = await supabase .from('guilds') - .select('*, guilds_plugins(*, plugins(enabled, description, premium))') + .select('*, guilds_plugins(*, plugins(enabled, description, premium, name))') .eq('guild_id', guild_id) .single() - // INFO: Not sure why this fails below, `guilds_plugins` is an array but the array methods wont show. - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - const matchingPlugin = guildPlugin.guilds_plugins.find( + if (!guildPluginResult) return + + const guildPlugin = guildPluginResult?.guilds_plugins.find( (ele: GuildPlugin) => ele.name === pluginName, ) - if (matchingPlugin && matchingPlugin.plugins[0].enabled && matchingPlugin.enabled) { + const botPlugin: Record = guildPlugin?.plugins + + if (guildPlugin && guildPlugin.enabled && botPlugin.enabled) { return { - enabled: matchingPlugin.enabled || false, - metadata: JSON.parse(JSON.stringify(matchingPlugin.metadata)), + enabled: guildPlugin?.enabled || false, + metadata: JSON.parse(JSON.stringify(guildPlugin?.metadata)), data: guildPlugin, } } else { return { enabled: false, - metadata: {}, - data: {}, + metadata: undefined, + data: undefined, } } } catch (error) { diff --git a/src/controllers/plugins/timezones.controller.ts b/src/controllers/plugins/timezones.controller.ts index e09833e..07b54f7 100644 --- a/src/controllers/plugins/timezones.controller.ts +++ b/src/controllers/plugins/timezones.controller.ts @@ -59,7 +59,7 @@ export const timezonesController = async (interaction: ChatInputCommandInteracti }, ], }) - } else if (command === 'compare') { + } else if (command === 'diff') { // Get the target & author user const targetUser = interaction.options.getUser('user', true) const authorUser = interaction.user diff --git a/src/events/messageUpdate.ts b/src/events/messageUpdate.ts index 0d0d2ef..ab3202f 100644 --- a/src/events/messageUpdate.ts +++ b/src/events/messageUpdate.ts @@ -5,9 +5,11 @@ import { NO_INTENT } from '../utils/constants' module.exports = { name: 'messageUpdate', once: false, - enabled: true, + enabled: false, async execute(Hans: Client, oldMessage: Message, newMessage: Message) { try { + if (newMessage.author.bot && oldMessage.author.bot) return + const { enabled, metadata } = await resolveGuildPlugins(oldMessage.guildId, 'messageUpdate') if (!enabled) return