import { createCommand } from "@shared/lib/utils"; import { SlashCommandBuilder } from "discord.js"; import { userService } from "@shared/modules/user/user.service"; import { createBaseEmbed } from "@lib/embeds"; export const balance = createCommand({ data: new SlashCommandBuilder() .setName("balance") .setDescription("Check your or another user's balance") .addUserOption(option => option.setName("user") .setDescription("The user to check") .setRequired(false) ), execute: async (interaction) => { await interaction.deferReply(); const targetUser = interaction.options.getUser("user") || interaction.user; if (targetUser.bot) { return; } const user = await userService.getOrCreateUser(targetUser.id, targetUser.username); if (!user) throw new Error("Failed to retrieve user data."); const embed = createBaseEmbed(undefined, `**Balance**: ${user.balance || 0n} AU`, "Yellow") .setAuthor({ name: targetUser.username, iconURL: targetUser.displayAvatarURL() }); await interaction.editReply({ embeds: [embed] }); } });