diff --git a/commands/utility/lier-rygainland.js b/commands/utility/lier-rygainland.js index e737b71..385e227 100644 --- a/commands/utility/lier-rygainland.js +++ b/commands/utility/lier-rygainland.js @@ -8,15 +8,23 @@ module.exports = { async execute(interaction) { try { + console.log('=== [LIER-RYGAINLAND] Début de l\'exécution ==='); + console.log('[LIER-RYGAINLAND] Utilisateur:', interaction.user.tag, '(ID:', interaction.user.id + ')'); + + console.log('[LIER-RYGAINLAND] Vérification des liaisons existantes...'); const existingLink = await getUserLink(interaction.user.id); + console.log('[LIER-RYGAINLAND] Liaison existante:', existingLink); if (existingLink) { + console.log('[LIER-RYGAINLAND] ⚠️ Utilisateur déjà lié à:', existingLink.palworld_username); return interaction.reply({ content: `Vous êtes déjà lié au compte Palworld: **${existingLink.palworld_username}** (Steam ID: ${existingLink.steam_id})`, flags: MessageFlags.Ephemeral }); } + console.log('[LIER-RYGAINLAND] Génération d\'un nouveau code de liaison...'); const code = await generateLinkCode(interaction.user.id); + console.log('[LIER-RYGAINLAND] ✅ Code généré:', code); const embed = new EmbedBuilder() .setColor(0x00FF00) @@ -31,16 +39,20 @@ module.exports = { .setFooter({ text: 'Le système de surveillance démarre automatiquement' }) .setTimestamp(); + console.log('[LIER-RYGAINLAND] Envoi de l\'embed avec le code...'); await interaction.reply({ embeds: [embed], flags: MessageFlags.Ephemeral }); + console.log('[LIER-RYGAINLAND] ✅ Réponse envoyée avec succès'); + console.log('[LIER-RYGAINLAND] Le système WebSocket va surveiller le code:', code); // Le système checkAndManageWebSocket va détecter le nouveau code automatiquement } catch (error) { - console.error('Erreur lors de la génération du code:', error); + console.error('[LIER-RYGAINLAND] ❌ ERREUR CRITIQUE:', error); + console.error('[LIER-RYGAINLAND] Stack trace:', error.stack); await interaction.reply({ content: '❌ Une erreur est survenue lors de la génération du code.', flags: MessageFlags.Ephemeral - }); + }).catch(err => console.error('[LIER-RYGAINLAND] Impossible de répondre:', err)); } }, }; diff --git a/commands/utility/lier.js b/commands/utility/lier.js index 303da60..c2aeda0 100644 --- a/commands/utility/lier.js +++ b/commands/utility/lier.js @@ -17,17 +17,12 @@ module.exports = { async execute(interaction) { try { - console.log('=== [LIER] Début de l\'exécution ==='); - console.log('[LIER] Utilisateur qui exécute:', interaction.user.tag); await interaction.deferReply({ flags: MessageFlags.Ephemeral }); const palworldName = interaction.options.getString('pseudo-palworld'); const discordUser = interaction.options.getUser('discord-account'); - console.log('[LIER] Pseudo Palworld:', palworldName); - console.log('[LIER] Discord User:', discordUser.tag, '(ID:', discordUser.id + ')'); // Récupérer le Steam ID depuis l'API Palworld - console.log('[LIER] Appel API pour récupérer les joueurs...'); const response = await axios({ method: 'get', url: 'http://play.louismazin.ovh:8212/v1/api/players', @@ -38,12 +33,9 @@ module.exports = { }); const players = response.data.players || {}; - console.log('[LIER] Nombre de joueurs récupérés:', Object.keys(players).length); - console.log('[LIER] Liste des joueurs:', Object.values(players).map(p => p.name)); let playerData = null; // Chercher le joueur par nom - console.log('[LIER] Recherche du joueur:', palworldName); for (const [id, player] of Object.entries(players)) { if (player.name === palworldName) { playerData = { @@ -51,13 +43,11 @@ module.exports = { playerId: player.playerId, name: player.name }; - console.log('[LIER] Joueur trouvé:', playerData); break; } } if (!playerData) { - console.log('[LIER] ❌ Joueur non trouvé'); return interaction.editReply({ content: `❌ Impossible de trouver le joueur **${palworldName}** sur le serveur.\n\n` + `💡 Le joueur doit être connecté sur le serveur Palworld.`, @@ -66,18 +56,13 @@ module.exports = { } // Créer un code temporaire pour la liaison manuelle - console.log('[LIER] Génération du code de liaison...'); const { generateLinkCode } = require('../../database.js'); const code = await generateLinkCode(discordUser.id); - console.log('[LIER] Code généré:', code); // Effectuer la liaison immédiatement - console.log('[LIER] Vérification du code et liaison...'); const result = await verifyLinkCode(code, playerData.steamId, playerData.name, playerData.playerId); - console.log('[LIER] Résultat de la liaison:', result); if (result.success) { - console.log('[LIER] ✅ Liaison réussie, mise à jour du username...'); await updateUserLinkWithUsername(discordUser.id, discordUser.tag); const embed = new EmbedBuilder() @@ -92,22 +77,16 @@ module.exports = { .setTimestamp(); // Envoyer un MP au joueur lié - console.log('[LIER] Envoi du MP au joueur...'); await discordUser.send( `✅ **Liaison effectuée par un administrateur**\n\n` + `Votre compte Discord a été lié à votre compte Palworld:\n` + `🎮 Nom Palworld: **${playerData.name}**\n` + `🆔 Steam ID: \`${playerData.steamId}\`\n` + `🎯 Player ID: \`${playerData.playerId}\`` - ).catch((err) => { - console.log('[LIER] ⚠️ Impossible d\'envoyer le MP:', err.message); - }); + ).catch(() => {}); - console.log('[LIER] Envoi de la réponse finale...'); await interaction.editReply({ embeds: [embed], flags: MessageFlags.Ephemeral }); - console.log('[LIER] ✅ Commande terminée avec succès'); } else { - console.log('[LIER] ❌ Échec de la liaison:', result.message); await interaction.editReply({ content: `❌ Erreur lors de la liaison: ${result.message}`, flags: MessageFlags.Ephemeral @@ -115,12 +94,11 @@ module.exports = { } } catch (error) { - console.error('[LIER] ❌ ERREUR CRITIQUE:', error); - console.error('[LIER] Stack trace:', error.stack); + console.error('Erreur lors de la liaison manuelle:', error); await interaction.editReply({ content: '❌ Une erreur est survenue lors de la liaison.', flags: MessageFlags.Ephemeral - }).catch(err => console.error('[LIER] Impossible de répondre:', err)); + }); } }, };