1
0

.env.exemple 4.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. # Copie ce fichier en ".env" et remplis les valeurs.
  2. # Ne partage JAMAIS ton fichier .env (il contient tes clés secrètes).
  3. # --- Obligatoire ---------------------------------------------------------
  4. DISCORD_TOKEN=
  5. ANTHROPIC_API_KEY=
  6. # Salon où le bot répond à tous les messages (clic droit sur le salon > Copier l'identifiant)
  7. CHANNEL_ID=
  8. # --- Claude --------------------------------------------------------------
  9. # Modèle utilisé : claude-sonnet-5-5 (recommandé), claude-haiku-5-5 (bien moins cher)
  10. # ou claude-opus-5-5 (plus capable, plus cher). Redémarre le bot après un changement.
  11. CLAUDE_MODEL=claude-sonnet-5-5
  12. # Longueur maximale d'une réponse (en tokens, ~0,75 mot par token), réflexion et notes de mémoire
  13. # comprises. Ne coûte que si elle est atteinte. Avec MEMORY=on, au moins 4000 (le bot prévient au
  14. # démarrage si c'est trop peu pour MEMORY_SERVER_LIMIT).
  15. MAX_TOKENS=4000
  16. # Réflexion avant de répondre : off (rapide) ou on (plus réfléchi, plus lent et plus cher).
  17. # Sur claude-opus-5-5, la réflexion ne peut pas être coupée : règle plutôt EFFORT=low.
  18. THINKING=on
  19. # Niveau d'effort : low, medium, high, xhigh ou max (xhigh et max nécessitent THINKING=on,
  20. # sauf sur claude-opus-5-5). Vide = valeur par défaut du modèle.
  21. EFFORT=medium
  22. # Délai maximal d'attente d'une réponse, en secondes
  23. API_TIMEOUT=60
  24. # --- Accès à Internet ----------------------------------------------------
  25. # Recherche web et lecture de liens : off ou on (payant : voir PRICE_WEB_SEARCH_PER_1000).
  26. # Avec on, prévois un API_TIMEOUT d'au moins 90 secondes.
  27. WEB_SEARCH=off
  28. # Nombre maximal de recherches (et de pages lues) par message
  29. WEB_MAX_USES=3
  30. # --- Mémoire -------------------------------------------------------------
  31. # Nombre de messages gardés en mémoire dans le salon dédié (questions + réponses).
  32. # La mémoire peut dépasser ce nombre de moitié avant d'y revenir d'un coup (10 → 14 → 10,
  33. # 20 → 30 → 20) : son début reste ainsi dans le cache de prompt, ce qui coûte moins cher.
  34. MAX_HISTORY_LENGTH=10
  35. # Nombre de messages lus comme contexte quand on mentionne le bot ailleurs
  36. CONTEXT_MESSAGE_LIMIT=20
  37. HISTORY_FILE=conversation_history.json
  38. # Pour une personnalité perso non publiée sur GitHub : personality_prompt.local.txt
  39. PERSONALITY_FILE=personality_prompt.txt
  40. # --- Mémoire des membres -------------------------------------------------
  41. # Fiches que Rika tient sur chaque membre : on ou off
  42. MEMORY=off
  43. # Dossier des fiches et du registre des membres. Vide = dossier « memories » à côté de HISTORY_FILE.
  44. MEMORY_DIR=
  45. # Taille maximale d'une fiche de membre et du fichier général, en caractères. Les fiches utiles
  46. # sont relues à chaque message : plus elles sont longues, plus chaque message coûte.
  47. MEMORY_MEMBER_LIMIT=3000
  48. MEMORY_SERVER_LIMIT=5000
  49. # Lectures et écritures maximales dans la mémoire pour une même réponse
  50. MEMORY_MAX_OPERATIONS=5
  51. # --- Images et PDF -------------------------------------------------------
  52. # Taille max d'une image en octets
  53. MAX_IMAGE_SIZE=25000000
  54. # Pages max d'un PDF (0 = PDF refusés). Claude lit le texte et l'image de chaque page :
  55. # compter souvent plusieurs milliers de tokens par page.
  56. PDF_MAX_PAGES=20
  57. # --- Statut Discord ------------------------------------------------------
  58. # Statut affiché sous le pseudo du bot (anime regardé, musique écoutée, jeu…) : on ou off
  59. PRESENCE=on
  60. # Chaque statut a sa durée : 1 à 5 épisodes d'anime, 6 à 20 morceaux, 45 min à 2 h de jeu,
  61. # 15 à 45 min en ligne, 30 à 90 min de pensée, 10 à 60 min d'absence, 30 à 90 min en Ne pas déranger.
  62. # Chances de chaque statut à la fin du précédent. Vide = valeurs ci-dessous.
  63. # Un statut absent de la liste garde sa valeur par défaut ; 0 le désactive.
  64. # Pour varier, les deux derniers statuts tirés ne peuvent pas revenir, et celui d'avant revient
  65. # deux fois moins souvent.
  66. PRESENCE_WEIGHTS=anime=20,musique=20,pensee=10,jeu=20,en_ligne=20,ne_pas_deranger=5,absent=5
  67. # Heures pendant lesquelles le bot est absent (de 2 h à 6 h), ou off
  68. PRESENCE_NIGHT=2-6
  69. # Pour tester : 10 = statuts 10 fois plus courts. Laisse 1 en temps normal.
  70. PRESENCE_SPEED=1
  71. # Playlists Deezer où piocher les musiques. Vide = Top Worldwide, Top France et Top Japan.
  72. DEEZER_PLAYLISTS=
  73. # Clé pour piocher les jeux dans toute la boutique Steam. Sans elle, pas de statut « joue à ».
  74. # Clé gratuite : https://steamcommunity.com/dev/apikey (à garder secrète, comme les autres clés).
  75. STEAM_API_KEY=
  76. # --- Divers --------------------------------------------------------------
  77. # Fuseau horaire utilisé pour l'heure indiquée à Claude
  78. TIMEZONE=Europe/Paris
  79. # Tarifs en dollars par million de tokens, pour l'estimation des coûts dans les logs.
  80. # Vide = tarifs connus du modèle choisi (Sonnet 5.5, Haiku 5.5, Opus 5.5) : ne les
  81. # renseigne que pour un autre modèle, sinon ils resteraient fixes en changeant de modèle.
  82. PRICE_INPUT_PER_MTOK=
  83. PRICE_OUTPUT_PER_MTOK=
  84. # Tarif en dollars pour 1000 recherches web
  85. PRICE_WEB_SEARCH_PER_1000=10.0
  86. LOG_FILE=bot.log