"""
Configuration loader.
All sensitive values come from environment variables / .env
"""
from pathlib import Path
from pydantic_settings import BaseSettings
from pydantic import Field


class Settings(BaseSettings):
    bot_token: str = Field(..., alias="BOT_TOKEN")
    admin_id: int = Field(7775682548, alias="ADMIN_ID")
    rerero_bot: str = Field("RereRo_bot", alias="RERERO_BOT")
    database_url: str = Field(
        "sqlite+aiosqlite:///./data/bot.db", alias="DATABASE_URL"
    )
    log_level: str = Field("INFO", alias="LOG_LEVEL")
    bonus_timer_seconds: int = Field(80, alias="BONUS_TIMER_SECONDS")
    context_message_limit: int = Field(15, alias="CONTEXT_MESSAGE_LIMIT")

    # Configurable Quick-Reply / Script names
    # Change these if you rename the scripts later – no code change needed
    welcome_script: str = "/welcome"
    invest_script: str = "/invest"
    account_create_script: str = "/Account_Create"
    active_ask_script: str = "/Active_ask"
    bonus_script: str = "/Bonus460"
    task_2_script: str = "/Task_2_Withdraw"
    question_script: str = "/QuestionAsk"

    class Config:
        env_file = ".env"
        env_file_encoding = "utf-8"
        extra = "ignore"


settings = Settings()

# Ensure data & logs directories exist
Path("data").mkdir(exist_ok=True)
Path("logs").mkdir(exist_ok=True)