Files
bdbot/bot/config.py
2026-01-28 15:53:27 +03:00

34 lines
1.1 KiB
Python

"""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")