import { createCommand } from "@/lib/utils"; import { SlashCommandBuilder, PermissionFlagsBits, MessageFlags } from "discord.js"; import { ModerationService } from "@/modules/moderation/moderation.service"; import { getWarningsEmbed, getModerationErrorEmbed } from "@/modules/moderation/moderation.view"; export const warnings = createCommand({ data: new SlashCommandBuilder() .setName("warnings") .setDescription("View active warnings for a user") .addUserOption(option => option .setName("user") .setDescription("The user to check warnings for") .setRequired(true) ) .setDefaultMemberPermissions(PermissionFlagsBits.Administrator), execute: async (interaction) => { await interaction.deferReply({ flags: MessageFlags.Ephemeral }); try { const targetUser = interaction.options.getUser("user", true); // Get active warnings for the user const activeWarnings = await ModerationService.getUserWarnings(targetUser.id); // Display the warnings await interaction.editReply({ embeds: [getWarningsEmbed(activeWarnings, targetUser.username)] }); } catch (error) { console.error("Warnings command error:", error); await interaction.editReply({ embeds: [getModerationErrorEmbed("An error occurred while fetching warnings.")] }); } } });