From ffb0463fe0430b14ffe16dd848eddec1597639e9 Mon Sep 17 00:00:00 2001 From: xds Date: Thu, 19 Feb 2026 15:28:04 +0300 Subject: [PATCH] os.getenv -> config.py --- config.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 config.py diff --git a/config.py b/config.py new file mode 100644 index 0000000..f48b51b --- /dev/null +++ b/config.py @@ -0,0 +1,39 @@ +import os +from typing import Optional +from pydantic_settings import BaseSettings, SettingsConfigDict + + +class Settings(BaseSettings): + # Telegram Bot + BOT_TOKEN: str + ADMIN_ID: int = 0 + + # AI Service + GEMINI_API_KEY: str + + # Database + MONGO_HOST: str = "mongodb://localhost:27017" + DB_NAME: str = "my_bot_db" + + # S3 Storage (Minio) + MINIO_ENDPOINT: str = "http://localhost:9000" + MINIO_ACCESS_KEY: str = "minioadmin" + MINIO_SECRET_KEY: str = "minioadmin" + MINIO_BUCKET: str = "ai-char" + + # External API + EXTERNAL_API_SECRET: Optional[str] = None + + # JWT Security + SECRET_KEY: str = "CHANGE_ME_TO_A_SUPER_SECRET_KEY" + ALGORITHM: str = "HS256" + ACCESS_TOKEN_EXPIRE_MINUTES: int = 30 * 24 * 60 # 30 days + + model_config = SettingsConfigDict( + env_file=os.getenv("ENV_FILE", ".env"), + env_file_encoding="utf-8", + extra="ignore" + ) + + +settings = Settings()