Browse Source

Respecter la limite Discord pour les longues réponses texte et image

Andy Esnard 1 ngày trước cách đây
mục cha
commit
e553e1c514
1 tập tin đã thay đổi với 12 bổ sung và 6 xóa
  1. 12 6
      chatbot.py

+ 12 - 6
chatbot.py

@@ -152,12 +152,17 @@ def split_message(message, max_length=2000):
     current_part = ""
     
     for line in message.split('\n'):
-        if len(current_part) + len(line) + 1 > max_length:
+        if current_part and len(current_part) + len(line) + 1 > max_length:
             parts.append(current_part)
-            current_part = line + '\n'
-        else:
-            current_part += line + '\n'
-    
+            current_part = ""
+        while len(line) > max_length:
+            parts.append(line[:max_length])
+            line = line[max_length:]
+        if line:
+            current_part += line
+        if len(current_part) < max_length:
+            current_part += '\n'
+
     if current_part:
         parts.append(current_part)
     
@@ -596,7 +601,8 @@ async def on_message(message):
 
                 if analysis:
                     await temp_msg.delete()
-                    await message.channel.send(reply)
+                    for part in split_message(reply):
+                        await message.channel.send(part)
 
                     if has_user_text:
                         user_message_text = f"{message.author.name} a envoyé une image avec le messsage : \"{user_text}\"."