Files
Vox/config.py
2026-01-18 17:08:37 -06:00

23 lines
732 B
Python

import os
from dotenv import load_dotenv
load_dotenv()
class Config:
DISCORD_TOKEN: str = os.getenv("DISCORD_TOKEN", "")
TEXT_CHANNEL_ID: int = int(os.getenv("TEXT_CHANNEL_ID", "0"))
VOICE_WAV_PATH: str = os.getenv("VOICE_WAV_PATH", "./voice.wav")
@classmethod
def validate(cls) -> list[str]:
"""Validate configuration and return list of errors."""
errors = []
if not cls.DISCORD_TOKEN:
errors.append("DISCORD_TOKEN is not set")
if cls.TEXT_CHANNEL_ID == 0:
errors.append("TEXT_CHANNEL_ID is not set")
if not os.path.exists(cls.VOICE_WAV_PATH):
errors.append(f"Voice WAV file not found: {cls.VOICE_WAV_PATH}")
return errors