diff --git a/app/src/commands/economy/balance.ts b/app/src/commands/economy/balance.ts index 2cd9ad1..5c1d381 100644 --- a/app/src/commands/economy/balance.ts +++ b/app/src/commands/economy/balance.ts @@ -1,13 +1,29 @@ import { createCommand } from "@lib/utils"; import { getUserBalance } from "@/modules/economy/economy.service"; -import { SlashCommandBuilder, EmbedBuilder } from "discord.js"; +import { createUser, getUserById } from "@/modules/users/users.service"; +import { SlashCommandBuilder, EmbedBuilder, PermissionFlagsBits } from "discord.js"; export const balance = createCommand({ - data: new SlashCommandBuilder().setName("balance").setDescription("Check your balance"), - execute: async (interaction) => { - const balance = await getUserBalance(interaction.user.id) || 0; - const embed = new EmbedBuilder().setDescription(`Your balance is ${balance}`); + data: new SlashCommandBuilder() + .setName("balance") + .setDescription("Check your balance") + + + , execute: async (interaction) => { + const user = interaction.user; + // Ensure user exists in DB + let dbUser = await getUserById(user.id); + if (!dbUser) { + await createUser(user.id); + } + + const balance = await getUserBalance(user.id); + + const embed = new EmbedBuilder() + .setTitle(`${user.username}'s Balance`) + .setDescription(`💰 **${balance} coins**`) + .setColor("Green"); + await interaction.reply({ embeds: [embed] }); } -}); - +}); \ No newline at end of file