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 # Daily Scheduler SCHEDULER_CHARACTER_ID: Optional[str] = None # Character ID used for daily generation # Meta Platform (Instagram Graph API) META_ACCESS_TOKEN: Optional[str] = None # Long-lived page/Instagram access token META_INSTAGRAM_ACCOUNT_ID: Optional[str] = None # Instagram Business Account ID # AI Proxy Security PROXY_SECRET_SALT: str = "AbVJUkwTPcUWJWhPzmjXb5p4SYyKmYC5m1uVW7Dhi7o" PROXY_URL:str = "http://localhost:8001" # 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()