From ab51aabba400a19b4c152a8537795ab1a10d558e Mon Sep 17 00:00:00 2001 From: Louis Mazin Date: Wed, 30 Jul 2025 13:02:46 +0200 Subject: [PATCH] test --- commands/trad/trad.js | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/commands/trad/trad.js b/commands/trad/trad.js index 5795f7c..b529fb3 100644 --- a/commands/trad/trad.js +++ b/commands/trad/trad.js @@ -56,16 +56,30 @@ module.exports = { // Créer la réponse avec la traduction const footer = `\n\n*Message original de ${messageToTranslate.author.username} dans ${messageToTranslate.channel.name}*`; - let translationMessage = `${result.text}${footer}`; + const translatedText = result.text; - // Vérifier la longueur et tronquer si nécessaire - if (translationMessage.length > 2000) { - const maxContentLength = 2000 - footer.length - 3; // -3 pour "..." - const truncatedText = result.text.substring(0, maxContentLength) + "..."; - translationMessage = `${truncatedText}${footer}`; + // Vérifier la longueur et diviser si nécessaire + if ((translatedText + footer).length > 2000) { + const maxContentLength = 2000 - footer.length; + const chunks = []; + + // Diviser le texte en chunks + for (let i = 0; i < translatedText.length; i += maxContentLength) { + chunks.push(translatedText.substring(i, i + maxContentLength)); + } + + // Envoyer le premier chunk avec editReply + await interaction.editReply(chunks[0] + (chunks.length > 1 ? ' *(suite...)*' : footer)); + + // Envoyer les chunks suivants avec followUp + for (let i = 1; i < chunks.length; i++) { + const isLast = i === chunks.length - 1; + const chunkMessage = chunks[i] + (isLast ? footer : ' *(suite...)*'); + await interaction.followUp(chunkMessage); + } + } else { + await interaction.editReply(translatedText + footer); } - - await interaction.editReply(translationMessage); } catch (error) { console.error('Erreur lors de la traduction:', error);