PYTHON
config.py🐍python
"""
Bot configuration using environment variables.
"""
import os
from dataclasses import dataclass
from dotenv import load_dotenv
# Load .env file
load_dotenv()
@dataclass
class Settings:
"""Bot configuration settings."""
# Required
DISCORD_TOKEN: str = os.getenv("DISCORD_TOKEN", "")
# Bot settings
BOT_PREFIX: str = os.getenv("BOT_PREFIX", "!")
BOT_DESCRIPTION: str = os.getenv("BOT_DESCRIPTION", "A helpful Discord bot")
# Database
DATABASE_PATH: str = os.getenv("DATABASE_PATH", "bot.db")
# Logging
LOG_LEVEL: str = os.getenv("LOG_LEVEL", "INFO")
def validate(self) -> None:
"""Validate required settings."""
if not self.DISCORD_TOKEN:
raise ValueError("DISCORD_TOKEN environment variable is required")
settings = Settings()