From e56efedeaf28e8eae7edf39f942c17bdf14d966e Mon Sep 17 00:00:00 2001 From: UltraLionFr Date: Thu, 28 Aug 2025 16:46:41 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20emp=C3=AAcher=20l'envoi=20multiple=20du?= =?UTF-8?q?=20message=20des=20horaires=20=C3=A0=20chaque=20reboot=20(mise?= =?UTF-8?q?=20=C3=A0=20jour=20au=20lieu=20de=20recr=C3=A9ation)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- events/clients/scheduleMessage.js | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/events/clients/scheduleMessage.js b/events/clients/scheduleMessage.js index f10ed82..8cce54c 100644 --- a/events/clients/scheduleMessage.js +++ b/events/clients/scheduleMessage.js @@ -1,9 +1,9 @@ const { EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle } = require("discord.js"); const cron = require("node-cron"); const { config } = require("../../handlers/configLoader"); -const logger = require("../../handlers/logger"); // ✅ On utilise ton logger +const logger = require("../../handlers/logger"); -// --- Fonction pour générer l'embed --- +// Générer l'embed --- function generateScheduleEmbed() { const horaires = config.Schedule.Hours; const infoMessages = config.Schedule.InfoMessages || []; @@ -54,9 +54,22 @@ module.exports = { return logger.error("❌ Impossible de trouver le salon défini dans config.Schedule.Channel"); } - // Envoi initial - let sentMessage = await channel.send(generateScheduleEmbed()); - logger.success("✅ Message des horaires envoyé avec succès"); + let sentMessage; + + try { + const messages = await channel.messages.fetch({ limit: 10 }); + sentMessage = messages.find(m => m.author.id === client.user.id && m.embeds.length > 0 && m.embeds[0].title?.includes("Horaires d'ouverture")); + + if (sentMessage) { + await sentMessage.edit(generateScheduleEmbed()); + logger.success("✅ Message des horaires mis à jour (reboot)"); + } else { + sentMessage = await channel.send(generateScheduleEmbed()); + logger.success("✅ Nouveau message des horaires envoyé"); + } + } catch (err) { + logger.error("❌ Erreur lors de la récupération/envoi du message des horaires :", err); + } // Mise à jour chaque jour à minuit cron.schedule("0 0 * * *", async () => { @@ -65,10 +78,10 @@ module.exports = { logger.info("🔄 Message des horaires mis à jour (00h00)"); } catch { sentMessage = await channel.send(generateScheduleEmbed()); - logger.warn("⚠️ Ancien message supprimé, nouveau message envoyé pour les horaires"); + logger.warn("⚠️ Ancien message introuvable, nouveau message envoyé pour les horaires"); } }); logger.success("✅ Gestion automatique des horaires activée !"); }, -}; +}; \ No newline at end of file