"""Configuration module for loading environment variables.""" import os from typing import Optional from dotenv import load_dotenv # Load environment variables from .env file load_dotenv() class Config: """Application configuration.""" # Telegram Bot Token BOT_TOKEN: Optional[str] = os.getenv("BOT_TOKEN") if not BOT_TOKEN: raise ValueError("BOT_TOKEN environment variable is required") # Database configuration DATABASE_URL: Optional[str] = os.getenv("DATABASE_URL") if not DATABASE_URL: raise ValueError("DATABASE_URL environment variable is required") # Notification settings NOTIFICATION_TIME: str = os.getenv("NOTIFICATION_TIME", "09:00") or "09:00" TIMEZONE: str = os.getenv("TIMEZONE", "UTC") or "UTC" @classmethod def validate(cls) -> None: """Validate that all required configuration is present.""" if not cls.BOT_TOKEN: raise ValueError("BOT_TOKEN is required") if not cls.DATABASE_URL: raise ValueError("DATABASE_URL is required")