const { SlashCommandBuilder, EmbedBuilder } = require('discord.js');
const { formatUptime } = require('../../utils/helpers');
const { colors } = require('../../utils/constants');

module.exports = {
    category: 'info',
    data: new SlashCommandBuilder()
        .setName('info')
        .setDescription('Obtenir les informations du bot'),
    async execute(interaction) {
        const uptime = formatUptime(process.uptime());

        const embed = new EmbedBuilder()
            .setAuthor({
                name: `Système d'Information • ${interaction.client.user.username}`,
                iconURL: interaction.client.user.displayAvatarURL()
            })
            .setColor(colors.info)
            .setThumbnail(interaction.client.user.displayAvatarURL({dynamic: true, size: 256}))
            .setDescription('Voici les détails techniques et statistiques concernant mon fonctionnement actuel.')
            .addFields(
                {
                    name: '👑 Propriétaire',
                    value: `> <@361526553940721684> (Lumi)`,
                    inline: true
                },
                {
                    name: '⌛ En ligne depuis',
                    value: `> \`${uptime}\``,
                    inline: true
                },
                {
                    name: '🛠️ Stack Technique',
                    value: [
                        '```yml',
                        'Langage: JavaScript (ES2024)',
                        'Runtime: Node.js v25.2.1',
                        'Library: Discord.js v14.22.1',
                        'IDE: JetBrains WebStorm',
                        '```'
                    ].join('\n'),
                    inline: false
                },
                {
                    name: '📈 Statistiques Globales',
                    value: [
                        `• **Guildes:** \`${interaction.client.guilds.cache.size}\``,
                        `• **Membres:** \`${interaction.client.guilds.cache.reduce((acc, guild) => acc + guild.memberCount, 0)}\``,
                        `• **Commandes:** \`${interaction.client.commands.size}\``,
                    ].join('\n'),
                    inline: true
                }
            )
            .setFooter({
                text: `Femboy Croissant Bot • Développé avec passion par Lumi 💞`,
                iconURL: interaction.client.user.displayAvatarURL()
            })
            .setTimestamp();

        await interaction.reply({embeds: [embed]});
    },
};