config.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334
  1. # Gérer la configuration et les variables d'environnement.
  2. import os
  3. from dotenv import load_dotenv
  4. # Charger les variables d'environnement depuis le fichier .env
  5. load_dotenv()
  6. # Variables de configuration
  7. DISCORD_TOKEN = os.getenv('DISCORD_TOKEN')
  8. OPENAI_API_KEY = os.getenv('OPENAI_API_KEY')
  9. DISCORD_CHANNEL_ID = os.getenv('DISCORD_CHANNEL_ID')
  10. PERSONALITY_PROMPT_FILE = os.getenv('PERSONALITY_PROMPT_FILE', 'personality_prompt.txt')
  11. CONVERSATION_HISTORY_FILE = os.getenv('CONVERSATION_HISTORY_FILE', 'conversation_history.json')
  12. BOT_NAME = os.getenv('BOT_NAME', 'ChatBot')
  13. BOT_VERSION = "2.5.0"
  14. # Vérifications des configurations essentielles
  15. if DISCORD_TOKEN is None or OPENAI_API_KEY is None or DISCORD_CHANNEL_ID is None:
  16. raise ValueError("Les tokens ou l'ID du canal ne sont pas définis dans les variables d'environnement.")
  17. # Vérification de l'existence du fichier de prompt de personnalité
  18. if not os.path.isfile(PERSONALITY_PROMPT_FILE):
  19. raise FileNotFoundError(f"Le fichier de prompt de personnalité '{PERSONALITY_PROMPT_FILE}' est introuvable.")
  20. # Lecture du prompt de personnalité
  21. with open(PERSONALITY_PROMPT_FILE, 'r', encoding='utf-8') as f:
  22. PERSONALITY_PROMPT = f.read().strip()
  23. # Conversion de l'ID du canal Discord en entier
  24. try:
  25. CHATGPT_CHANNEL_ID = int(DISCORD_CHANNEL_ID)
  26. except ValueError:
  27. raise ValueError("L'ID du channel Discord est invalide. Assurez-vous qu'il s'agit d'un entier.")