const { SlashCommandBuilder, EmbedBuilder } = require('discord.js'); const { generateLinkCode, getUserLink } = require('../../database.js'); module.exports = { data: new SlashCommandBuilder() .setName('lier-rygainland') .setDescription('Lier votre compte Discord à votre compte Palworld'), async execute(interaction) { try { const existingLink = await getUserLink(interaction.user.id); if (existingLink) { const embed = new EmbedBuilder() .setColor(0x0099FF) .setTitle('🔗 Votre compte est déjà lié') .setDescription('Votre compte Discord est déjà associé à un compte Palworld.') .addFields( { name: '👤 Discord', value: `${interaction.user.tag}`, inline: false }, { name: '🎮 Palworld', value: `**${existingLink.palworld_username}**`, inline: true }, { name: '🆔 Steam ID', value: `\`${existingLink.steam_id}\``, inline: true }, { name: '🎯 Player ID', value: `\`${existingLink.player_id || 'N/A'}\``, inline: false }, { name: '📅 Lié le', value: new Date(existingLink.linked_at).toLocaleDateString('fr-FR', { year: 'numeric', month: 'long', day: 'numeric', hour: '2-digit', minute: '2-digit' }), inline: false } ) .setFooter({ text: 'Contactez un administrateur pour modifier votre liaison' }) .setTimestamp(); return interaction.reply({ embeds: [embed], ephemeral: true }); } const code = await generateLinkCode(interaction.user.id); const embed = new EmbedBuilder() .setColor(0x00FF00) .setTitle('🔗 Liaison de compte Rygainland') .setDescription('Pour lier votre compte Discord à votre compte Palworld:') .addFields( { name: '1️⃣ Étape 1', value: 'Connectez-vous sur le serveur Palworld' }, { name: '2️⃣ Étape 2', value: `Tapez dans le chat du jeu:\n\`\`\`!lier ${code}\`\`\`` }, { name: '⏱️ Expiration', value: 'Ce code expire dans **10 minutes**' }, { name: '🔑 Votre code', value: `\`${code}\``, inline: false } ) .setFooter({ text: 'Le système de surveillance démarre automatiquement' }) .setTimestamp(); await interaction.reply({ embeds: [embed], ephemeral: true }); } catch (error) { console.error('Erreur lors de la génération du code:', error); await interaction.reply({ content: '❌ Une erreur est survenue lors de la génération du code.', ephemeral: true }); } }, };