This commit is contained in:
Louis Mazin 2025-07-30 13:02:46 +02:00
parent 253eea5f35
commit ab51aabba4

View File

@ -56,17 +56,31 @@ module.exports = {
// Créer la réponse avec la traduction // Créer la réponse avec la traduction
const footer = `\n\n*Message original de ${messageToTranslate.author.username} dans ${messageToTranslate.channel.name}*`; 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 // Vérifier la longueur et diviser si nécessaire
if (translationMessage.length > 2000) { if ((translatedText + footer).length > 2000) {
const maxContentLength = 2000 - footer.length - 3; // -3 pour "..." const maxContentLength = 2000 - footer.length;
const truncatedText = result.text.substring(0, maxContentLength) + "..."; const chunks = [];
translationMessage = `${truncatedText}${footer}`;
// 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) { } catch (error) {
console.error('Erreur lors de la traduction:', error); console.error('Erreur lors de la traduction:', error);
await interaction.editReply('❌ Erreur lors de la traduction du message.'); await interaction.editReply('❌ Erreur lors de la traduction du message.');