Ver código fonte

Mentions : lecture de l'image jointe à la mention elle-même

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Johnounet 5 dias atrás
pai
commit
791fc8a2c7
2 arquivos alterados com 13 adições e 2 exclusões
  1. 10 2
      bot/discord_bot.py
  2. 3 0
      changelog.txt

+ 10 - 2
bot/discord_bot.py

@@ -209,7 +209,16 @@ class ChatBot(commands.Bot):
                 logger.warning("Pas la permission de lire l'historique de #%s.", message.channel)
         lines.reverse()
 
-        reply, image = await self.read_reply(message, want_image=True)
+        # Seules la première image et le premier fichier .txt de la mention sont lus (les autres
+        # pièces jointes sont ignorées). L'image du message cité ne sert que s'il n'y en a pas.
+        images = [a for a in message.attachments if looks_like_image(a)]
+        try:
+            image = await self.download_image(images[0]) if images else None
+        except ImageError as exc:
+            await self.safe_reply(message, exc.user_message)
+            return
+        reply, reply_image = await self.read_reply(message, want_image=image is None)
+        image = image or reply_image
 
         bot_name = f"@{message.guild.me.display_name}" if message.guild else f"@{self.user.name}"
         text = message.clean_content.replace(bot_name, "").strip() or "(simple mention, sans texte)"
@@ -222,7 +231,6 @@ class ChatBot(commands.Bot):
         parts.append(f"{self.timestamp(message)}, {message.author.display_name} te mentionne{reply_part} et écrit : {text}")
         prompt = "\n\n".join(parts)
 
-        # Seuls les fichiers .txt de la mention sont lus (les autres pièces jointes sont ignorées).
         text_files = [a for a in message.attachments if looks_like_text(a)]
         if text_files:
             try:

+ 3 - 0
changelog.txt

@@ -34,6 +34,9 @@ Corrections
 - Mentions moins chères : le contexte lu pour répondre à une mention n'est
   plus écrit dans le cache de prompt (surcoût de 25 %), puisqu'il change à
   chaque mention et n'y était jamais relu.
+- Mentions : l'image jointe à la mention elle-même est maintenant lue (seule
+  celle du message cité l'était). Si les deux en ont une, c'est celle de la
+  mention qui est envoyée à Claude.
 
 
 Version 5.3.0 — 29/10/2026