# 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) MAX_TOKENS=3000 # Réflexion avant de répondre : off (rapide) ou on (plus réfléchi, plus lent et plus cher). # 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 API_TIMEOUT=60 # --- 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. WEB_SEARCH=off # Nombre maximal de recherches (et de pages lues) par message WEB_MAX_USES=3 # --- Mémoire ------------------------------------------------------------- # Nombre de messages gardés en mémoire dans le salon dédié (questions + réponses) 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 # --- Images -------------------------------------------------------------- # Taille max en octets MAX_IMAGE_SIZE=25000000 # --- 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. 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. Laisse 1 en temps normal. PRESENCE_SPEED=1 # Playlists Deezer où piocher les musiques. Vide = Top Worldwide, Top France et Top Japan. DEEZER_PLAYLISTS= # Bibliothèque Steam où piocher les jeux. Sans ces deux valeurs, pas de statut « joue à ». # Clé gratuite : https://steamcommunity.com/dev/apikey (à garder secrète, comme les autres clés). # STEAM_ID : identifiant à 17 chiffres du profil, dont les « Détails des jeux » doivent être publics. STEAM_API_KEY= STEAM_ID= # --- 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