| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- # Copie ce fichier en ".env" et remplis les valeurs.
- # Ne partage JAMAIS ton fichier .env (il contient tes clés secrètes).
- # --- Obligatoire ---------------------------------------------------------
- DISCORD_TOKEN=
- ANTHROPIC_API_KEY=
- # Salon où le bot répond à tous les messages (clic droit sur le salon > Copier l'identifiant)
- CHANNEL_ID=
- # --- Claude --------------------------------------------------------------
- # Modèle utilisé : claude-sonnet-5-5 (recommandé), claude-haiku-5-5 (bien moins cher)
- # ou claude-opus-5-5 (plus capable, plus cher). Redémarre le bot après un changement.
- CLAUDE_MODEL=claude-sonnet-5-5
- # Longueur maximale d'une réponse (en tokens, ~0,75 mot par token), réflexion et notes de mémoire
- # comprises. Ne coûte que si elle est atteinte. Avec MEMORY=on, il faut de la place pour réécrire un
- # fichier plein (le plus grand de MEMORY_SERVER_LIMIT et MEMORY_MEMBER_LIMIT) après la réflexion :
- # 4000 sans réflexion, 6000 avec EFFORT=low ou medium, 8000 avec high ou par défaut, 12000 avec
- # xhigh ou max (pour 5000 caractères). Le bot
- # refuse de démarrer sous le minimum, et prévient dans le message « En ligne » sous la valeur conseillée.
- # Maximum : 64000.
- MAX_TOKENS=6000
- # Réflexion avant de répondre : off (rapide) ou on (plus réfléchi, plus lent et plus cher).
- # Vide ou absent = off.
- # Sur claude-opus-5-5, la réflexion ne peut pas être coupée : règle plutôt EFFORT=low.
- THINKING=on
- # Niveau d'effort : low, medium, high, xhigh ou max (xhigh et max nécessitent THINKING=on,
- # sauf sur claude-opus-5-5). Vide = valeur par défaut du modèle.
- EFFORT=medium
- # Délai maximal d'attente d'une réponse, en secondes, relances comprises : une requête trop
- # lente n'est pas relancée. Compte environ 1 seconde pour 80 tokens de MAX_TOKENS ; le bot
- # prévient au démarrage si c'est trop court.
- API_TIMEOUT=90
- # --- Accès à Internet ----------------------------------------------------
- # Recherche web et lecture de liens : off ou on (payant : voir PRICE_WEB_SEARCH_PER_1000).
- # Avec on, prévois un API_TIMEOUT d'au moins 90 secondes (40 de plus que sans la recherche).
- WEB_SEARCH=off
- # Nombre maximal de recherches (et de pages lues) par message, de 1 à 10
- WEB_MAX_USES=3
- # --- Mémoire -------------------------------------------------------------
- # Nombre de messages gardés en mémoire dans le salon dédié (questions + réponses).
- # La mémoire peut dépasser ce nombre de moitié avant d'y revenir d'un coup (10 → 14 → 10,
- # 20 → 30 → 20) : son début reste ainsi dans le cache de prompt, ce qui coûte moins cher.
- MAX_HISTORY_LENGTH=10
- # Nombre de messages lus comme contexte quand on mentionne le bot ailleurs
- CONTEXT_MESSAGE_LIMIT=20
- HISTORY_FILE=conversation_history.json
- # Pour une personnalité perso non publiée sur GitHub : personality_prompt.local.txt
- PERSONALITY_FILE=personality_prompt.txt
- # --- Mémoire des membres -------------------------------------------------
- # Fiches que Rika tient sur chaque membre : on ou off
- MEMORY=off
- # Dossier des fiches et du registre des membres. Vide = dossier « memories » à côté de HISTORY_FILE.
- MEMORY_DIR=
- # Taille maximale d'une fiche de membre et du fichier général, en caractères. Les fiches utiles
- # sont relues à chaque message : plus elles sont longues, plus chaque message coûte.
- MEMORY_MEMBER_LIMIT=3000
- MEMORY_SERVER_LIMIT=5000
- # Lectures et écritures maximales dans la mémoire pour une même réponse, de 1 à 20
- MEMORY_MAX_OPERATIONS=5
- # --- Images et PDF -------------------------------------------------------
- # Taille max d'une image en octets
- MAX_IMAGE_SIZE=25000000
- # Pages max d'un PDF, de 0 (PDF refusés) à 100 (limite de l'API). Claude lit le texte et l'image de chaque page :
- # compter souvent plusieurs milliers de tokens par page.
- PDF_MAX_PAGES=20
- # --- Statut Discord ------------------------------------------------------
- # Statut affiché sous le pseudo du bot (anime regardé, musique écoutée, jeu…) : on ou off
- PRESENCE=on
- # Chaque statut a sa durée : 1 à 5 épisodes d'anime, 6 à 20 morceaux, 45 min à 2 h de jeu,
- # 15 à 45 min en ligne, 30 à 90 min de pensée, 10 à 60 min d'absence, 30 à 90 min en Ne pas déranger.
- # Chances de chaque statut à la fin du précédent. Vide = valeurs ci-dessous.
- # Un statut absent de la liste garde sa valeur par défaut ; 0 le désactive.
- # Pour varier, les deux derniers statuts tirés ne peuvent pas revenir, et celui d'avant revient
- # deux fois moins souvent.
- PRESENCE_WEIGHTS=anime=20,musique=20,pensee=10,jeu=20,en_ligne=20,ne_pas_deranger=5,absent=5
- # Heures pendant lesquelles le bot est absent (de 2 h à 6 h), ou off
- PRESENCE_NIGHT=2-6
- # Pour tester : 10 = statuts 10 fois plus courts (100 au maximum). Laisse 1 en temps normal.
- PRESENCE_SPEED=1
- # Playlists Deezer où piocher les musiques. Vide = Top Worldwide, Top France et Top Japan.
- DEEZER_PLAYLISTS=
- # Clé pour piocher les jeux dans toute la boutique Steam. Sans elle, pas de statut « joue à ».
- # Clé gratuite : https://steamcommunity.com/dev/apikey (à garder secrète, comme les autres clés).
- STEAM_API_KEY=
- # --- Divers --------------------------------------------------------------
- # Fuseau horaire utilisé pour l'heure indiquée à Claude
- TIMEZONE=Europe/Paris
- # Tarifs en dollars par million de tokens, pour l'estimation des coûts dans les logs.
- # Vide = tarifs connus du modèle choisi (Sonnet 5.5, Haiku 5.5, Opus 5.5) : ne les
- # renseigne que pour un autre modèle, sinon ils resteraient fixes en changeant de modèle.
- PRICE_INPUT_PER_MTOK=
- PRICE_OUTPUT_PER_MTOK=
- # Tarif en dollars pour 1000 recherches web
- PRICE_WEB_SEARCH_PER_1000=10.0
- LOG_FILE=bot.log
|