import { SlashCommandBuilder, ChatInputCommandInteraction } from 'discord.js';
import { SlashCommand } from '../../utils/types';
import { context } from '../../config/context';

const command: SlashCommand = {
  guildOnly: true,
  data: new SlashCommandBuilder()
    .setName('rank')
    .setDescription('Zeigt deinen XP-Status an.')
    .addUserOption((opt) => opt.setName('user').setDescription('Nutzer (optional)')),
  async execute(interaction: ChatInputCommandInteraction) {
    if (!interaction.guildId) return;
    const user = interaction.options.getUser('user') ?? interaction.user;
    const level = context.leveling.getLevel(user.id, interaction.guildId);
    await interaction.reply({ content: `${user.tag}: Level ${level.level}, XP ${level.xp}` });
  }
};

export default command;
