Просмотр исходного кода

Changelog : historique des versions 1.x à 4.x, en blocs repliables

L'ancien changelog d'avant Claude est ajouté en bas de CHANGELOG.md,
mis en forme comme le reste, avec un bloc fermé par version majeure.
Lien « Avant la 5.0 » ajouté dans la barre des versions.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Johnounet 2 дней назад
Родитель
Сommit
0100c52727
1 измененных файлов с 263 добавлено и 1 удалено
  1. 263 1
      CHANGELOG.md

+ 263 - 1
CHANGELOG.md

@@ -2,7 +2,7 @@
 
 
 Les versions les plus récentes sont en haut. Chaque entrée commence par un résumé en gras, suivi du détail.
 Les versions les plus récentes sont en haut. Chaque entrée commence par un résumé en gras, suivi du détail.
 
 
-**Versions :** [5.12](#version-512) · [5.11](#version-511) · [5.10](#version-510) · [5.9](#version-59) · [5.8](#version-58) · [5.7](#version-57) · [5.6](#version-56) · [5.5](#version-55) · [5.4.0](#version-540) · [5.3.0](#version-530) · [5.2.0](#version-520) · [5.1.0](#version-510-1) · [5.0.0](#version-500)
+**Versions :** [5.12](#version-512) · [5.11](#version-511) · [5.10](#version-510) · [5.9](#version-59) · [5.8](#version-58) · [5.7](#version-57) · [5.6](#version-56) · [5.5](#version-55) · [5.4.0](#version-540) · [5.3.0](#version-530) · [5.2.0](#version-520) · [5.1.0](#version-510-1) · [5.0.0](#version-500) · [Avant la 5.0](#avant-la-version-50)
 
 
 ---
 ---
 
 
@@ -362,3 +362,265 @@ Les versions les plus récentes sont en haut. Chaque entrée commence par un ré
 - L'ancien `conversation_history.json` est converti automatiquement au premier lancement (les images sont remplacées par un marqueur texte).
 - L'ancien `conversation_history.json` est converti automatiquement au premier lancement (les images sont remplacées par un marqueur texte).
 - Dans le `.env` : `MISTRAL_API_KEY` devient `ANTHROPIC_API_KEY`, et `MISTRAL_MODEL` devient `CLAUDE_MODEL`.
 - Dans le `.env` : `MISTRAL_API_KEY` devient `ANTHROPIC_API_KEY`, et `MISTRAL_MODEL` devient `CLAUDE_MODEL`.
 - L'intent Discord « Presence » n'est plus nécessaire.
 - L'intent Discord « Presence » n'est plus nécessaire.
+
+---
+
+## Avant la version 5.0
+
+Historique des versions précédentes, avant la réécriture du bot pour Claude. Ce code n'est plus dans le dépôt. Cliquez sur une version majeure pour l'ouvrir.
+
+<details>
+<summary><strong>Versions 4.x</strong> : passage à Mistral (4.0.0 à 4.6.8)</summary>
+
+### Version 4.6.8
+
+- Correction d'une erreur liée aux images corrompues.
+
+### Version 4.6.7
+
+- Retour à la version 4.6.3.
+
+### Version 4.6.6
+
+- Retour à la version 4.6.4.
+
+### Version 4.6.5
+
+- Il n'est plus nécessaire de citer Rika pour qu'elle réagisse : écrire son pseudonyme suffit.
+
+### Version 4.6.4
+
+- Le prompt de personnalité est maintenant chargé après (et non avant) l'historique des messages, ce qui peut éviter que l'IA boucle.
+
+### Version 4.6.3
+
+- Ajout du paramètre « Température » en tant que variable d'environnement.
+
+### Version 4.6.2
+
+- Modification de la manière dont sont rédigés les messages utilisateurs dans l'historique.
+
+### Version 4.6.1
+
+- Plusieurs valeurs écrites en dur dans le code deviennent des variables d'environnement : le modèle utilisé, la taille maximum des images, le nombre de messages comptés lors d'une citation.
+- Les messages du bot de plus de 2000 caractères sont scindés en plusieurs messages au lieu de renvoyer une erreur.
+- Augmentation du nombre de tokens de sortie possible : 1000 → 128000.
+
+### Version 4.6.0
+
+- Le bot connaît désormais la date et l'heure actuelles.
+- Changement du modèle (mais pas vraiment) : `mistral-medium-2508` → `mistral-medium-latest`.
+- Ajout d'un log dans la console indiquant le nombre de tokens envoyés et reçus, et le coût total du message.
+- Réorganisation globale du code.
+
+### Version 4.5.1
+
+- Correction : quand il était cité, le bot ne voyait pas les auteurs des messages précédents.
+- Messages précédents récupérés : 10 → 20.
+
+### Version 4.5.0
+
+- Les utilisateurs peuvent désormais citer le bot dans un autre salon que le sien.
+
+### Version 4.4.0
+
+- Utilisation du modèle `mistral-medium-2508` à la place de `pixtral-large-2411`.
+
+### Version 4.3.1
+
+- Si on envoie un fichier autre qu'une image, le bot répond par un message d'erreur.
+- Augmentation de l'historique à 20 messages.
+
+### Version 4.3.0
+
+- La commande `!reset` est remplacée par `/reset`.
+- Correction : Rika répondait par un smiley aux messages ne contenant qu'un seul mot.
+
+### Version 4.2.0
+
+- Amélioration de la vérification des variables d'environnement.
+- Nombre d'images possibles par message : 3 → 1.
+- Le bot répond par un emoji personnalisé du serveur si l'utilisateur envoie un message contenant uniquement un emoji personnalisé.
+- Correction : le bot pouvait répondre à un sticker dans n'importe quel salon où il se trouvait.
+
+### Version 4.1.1
+
+- Taille maximale des images : 2 → 5 Mo.
+
+### Version 4.1.0
+
+- Modification de la manière dont sont gérés les logs.
+
+### Version 4.0.1
+
+- Correction de l'erreur possible lors de l'envoi d'un sticker : `discord.errors.Forbidden: 403 Forbidden (error code: 50081): Cannot use this sticker`.
+  - Le sticker envoyé est désormais affiché dans la console. Si le bot ne parvient pas à l'envoyer, un autre sticker est sélectionné automatiquement.
+- Ajout de l'heure dans la console pour chaque message.
+
+### Version 4.0.0
+
+- Refonte totale du bot à partir de zéro : il passe de l'API OpenAI à l'API Mistral.
+- Suppression des messages automatiques après inactivité.
+- Suppression de la fonction de rappel.
+- La commande `/reset_history` devient `!reset`.
+- La base de données est remplacée par un fichier `.json`.
+- Si un utilisateur envoie un sticker, le bot répond par un sticker du serveur.
+- Autres modifications.
+
+</details>
+
+<details>
+<summary><strong>Versions 3.x</strong> : messages spontanés après inactivité, <code>/help</code>, rappels (3.0.0)</summary>
+
+### Version 3.0.0
+
+- Après une période d'inactivité, le bot envoie maintenant un message de lui-même dans son salon.
+  - Période d'inactivité : entre 3 et 6 heures, choisie au hasard.
+  - Cette fonction n'est pas active entre minuit et 7 h.
+  - Le bot réagit à l'activité en cours d'un membre du serveur ayant le rôle « Rika ».
+  - Si aucun membre n'a d'activité, le bot envoie un message d'ennui.
+- La date du jour et l'heure actuelle sont envoyées à OpenAI avec le reste, pour qu'il puisse éventuellement s'en servir dans son message.
+- Création de la commande `/help`, qui affiche toutes les commandes disponibles.
+- Création des commandes `/mes_rappels` et `/supprimer_rappel`, qui permettent aux utilisateurs de voir et supprimer leurs rappels enregistrés.
+- Nombre de messages conservés dans l'historique : 150 → 50.
+
+</details>
+
+<details>
+<summary><strong>Versions 2.x</strong> : analyse d'images avec GPT-4o, historique persistant (2.0.0 à 2.8.0)</summary>
+
+### Version 2.8.0
+
+- Le bot peut séparer ses messages en plusieurs parties s'ils sont trop longs, pour qu'ils ne soient plus coupés en plein milieu.
+- Ajout de la commande `/rappel`, utilisable par tous : le bot vous rappelle quelque chose à la date et l'heure choisies.
+  - Le bot vous cite dans son salon à la date et l'heure indiquées.
+  - Les rappels sont visibles par tous les utilisateurs.
+  - Pour le moment, les rappels utilisent uniquement le fuseau horaire Europe/Paris.
+- La commande `!reset_history` devient `/reset_history` (réservée aux administrateurs).
+
+### Version 2.7.0
+
+- Ajout de l'indicateur « Chatbot est en train d'écrire… » pendant que le bot prépare sa réponse.
+- Modification de la manière dont les messages des utilisateurs sont sauvegardés dans la base de données.
+- Quand plusieurs messages arrivent en même temps, ils sont traités un par un et non plus simultanément.
+- Le prompt de GPT-4o pour l'analyse d'images est désormais dans un fichier séparé du code.
+
+### Version 2.6.0
+
+- L'historique est stocké dans une base de données MariaDB au lieu d'un fichier `.json`.
+- Nombre de tokens maximum par message de GPT-4o mini : 400 → 450.
+- Réorganisation du code.
+
+### Version 2.5.0
+
+- Modification des prompts de GPT-4o et GPT-4o mini pour les images.
+- Réorganisation globale du code.
+
+### Version 2.4.3
+
+- Modification des prompts de GPT-4o et GPT-4o mini pour l'analyse d'images.
+- L'analyse d'image de GPT-4o est conservée pendant 15 messages, ou jusqu'à ce qu'une nouvelle image soit postée.
+- La réponse de GPT-4o mini à une image n'apparaît plus dans la console. Le coût en tokens apparaît à la place.
+- Suppression de la fonction qui empêchait certains messages d'être sauvegardés dans l'historique. Elle ne fonctionnait pas.
+
+### Version 2.4.2
+
+- Modification des prompts de GPT-4o pour l'analyse d'images.
+
+### Version 2.4.1
+
+- Suppression du résumé des messages les plus anciens quand l'historique est plein.
+- Historique : 150 → 200 messages maximum.
+- Les analyses d'images de GPT-4o sont supprimées après 7 nouveaux messages.
+
+### Version 2.4.0
+
+- Le nom du bot est désormais une variable d'environnement.
+- Meilleure intégration du prompt de personnalité lors de l'analyse d'une image.
+- Ajout d'un message temporaire pendant l'analyse d'une image, pour prévenir l'utilisateur qu'elle est en cours.
+
+### Version 2.3.0
+
+- Maximum de messages dans l'historique : 150.
+  - Arrivé à 150, les 50 messages les plus anciens sont rassemblés dans un résumé de 1000 tokens maximum.
+  - À chaque nouveau palier de 150, les 50 plus anciens et le résumé précédent servent à générer un nouveau résumé.
+- Le prompt de personnalité n'est plus inclus dans l'historique : il est transmis au bot à part.
+- Suppression du résumé des messages longs (plus de 200 tokens).
+
+### Version 2.2.1
+
+- Correction : les images envoyées seules n'étaient pas commentées par le bot.
+
+### Version 2.2.0
+
+- Changement de modèle : GPT-4o est remplacé par GPT-4o mini.
+  - Le prompt de personnalité et de contexte peut contenir bien plus d'informations.
+  - L'historique de conversation peut être bien plus long.
+- GPT-4o est toujours utilisé pour analyser les images, car il est plus performant pour ça.
+  - Quand une image est postée, GPT-4o l'analyse et transmet son analyse à GPT-4o mini, qui commente l'image.
+
+### Version 2.1.0
+
+- L'historique est désormais conservé entre les redémarrages du bot.
+  - Il peut être réinitialisé avec la commande `!reset_history`, réservée aux administrateurs.
+- Ajout d'un message au démarrage du bot, avec sa version actuelle.
+- Ajout du paramètre de température, qui influe sur la « créativité » et le côté aléatoire du bot. Valeur : 1.1.
+- Suppression de la détection des dessins ASCII (qui servait à les exclure de l'historique). Elle ne fonctionnait pas.
+  - Elle sera réintroduite dans une mise à jour ultérieure.
+- Corrections :
+  - `aiohttp.client_exceptions.ClientConnectionError: Connector is closed.`
+  - `AttributeError: '_MissingSentinel' object has no attribute 'create_task'`
+
+### Version 2.0.1
+
+- Correction : `ValueError: unknown file extension.`
+
+### Version 2.0.0
+
+- Le bot peut désormais détecter les images et y réagir !
+- Plus de limite maximum de messages dans l'historique. Quand l'historique atteint 30 messages, les 20 plus anciens sont résumés automatiquement.
+  - Nombre maximum de tokens du résumé : 150.
+  - Un log dans la console indique que l'historique a atteint 30 messages et qu'un résumé a été fait, avec le coût de l'appel à l'API.
+- Les messages longs (plus de 200 tokens), qu'ils viennent de l'utilisateur ou du bot, sont résumés en 50 tokens maximum avant d'être ajoutés à l'historique.
+  - Les textes longs ne sont plus gardés dans un historique temporaire de 10 messages.
+  - Un log indique le coût en tokens de l'appel à l'API pour résumer le message.
+- Les messages courts (moins de 5 caractères) et ceux qui ne contiennent que des emojis ne sont pas ajoutés à l'historique.
+- Un log dans la console signale quand un dessin ASCII ou un texte long est détecté.
+- Tokens utilisés pour générer une réponse : 500 → 400, pour que les réponses dépassent moins souvent la limite de 2000 caractères de Discord.
+- Diverses optimisations du code.
+
+</details>
+
+<details>
+<summary><strong>Versions 1.x</strong> : premières versions avec GPT-4o (1.1.0 à 1.1.2)</summary>
+
+### Version 1.1.2
+
+- Modification de la détection des dessins ASCII, pour qu'ils soient mieux reconnus.
+
+### Version 1.1.1
+
+- Correction : les textes longs de plus de 1200 caractères ou 200 caractères spéciaux n'étaient pas inclus dans la mémoire courte de 10 messages.
+- Limite pour entrer dans la mémoire courte abaissée à 800 caractères ou 50 caractères spéciaux.
+
+### Version 1.1.0
+
+#### Nouveautés
+
+- La conversation est commune à tous les utilisateurs, au lieu d'une conversation par utilisateur.
+
+#### Changements
+
+- Les images et dessins ASCII ne sont plus sauvegardés dans l'historique de l'IA, ce qui réduit la consommation de tokens.
+- Les textes longs de plus de 1200 caractères ou 200 caractères spéciaux ne restent en mémoire que pendant 10 messages.
+- Personnalité de l'IA modifiée et ajustée.
+- L'IA connaît mieux son environnement et ses capacités.
+- L'ID du salon est désormais une variable d'environnement.
+- Le prompt de personnalité de l'IA est désormais dans un fichier séparé, `personnality_prompt.txt`.
+
+#### Corrections
+
+- L'IA ne poursuivait pas ses messages quand ils contenaient un saut de ligne.
+- Divers autres bugs.
+
+</details>