import { MessageFlags, PermissionFlagsBits, SlashCommandSubcommandBuilder } from "discord.js"; import { Command, requirePermission } from "@voidy/framework"; import { GuildConfig, type IGuildConfig } from "../../schemas/GuildConfig"; export default new Command({ id: "guild.logging.disable", use: [requirePermission(PermissionFlagsBits.ManageGuild)], data: new SlashCommandSubcommandBuilder() .setName("disable") .setDescription("Disable member logging."), execute: async ({ interaction, client }) => { const doc = await GuildConfig.findOneAndUpdate( { guildId: interaction.guildId }, { $unset: { "logging.channelId": "" } }, { new: true }, ); const cache = client.data.get("guildConfig") as Map | undefined; if (cache && interaction.guildId) { if (doc) cache.set(interaction.guildId, doc.toObject()); else cache.delete(interaction.guildId); } await interaction.reply({ content: "Member logging has been disabled.", flags: [MessageFlags.Ephemeral], }); }, });