from dotenv import load_dotenv from pydantic import Field, SecretStr from pydantic_settings import BaseSettings load_dotenv(override=True) class Settings(BaseSettings): postgres_url: str = Field( "postgresql+asyncpg://malenia:skibidi@localhost:5432/malenia_db", alias="POSTGRES_URL" ) bot_token: SecretStr = Field(alias="BOT_TOKEN") admins: list[int] = Field(alias="ADMINS") pally_shop_id: SecretStr = Field(alias="PALLY_SHOP_ID") pally_token: SecretStr = Field(alias="PALLY_TOKEN") referal_bonus: int = Field(10, alias="REFERAL_BONUS") deposit_threshold: int = Field(50) proxy: str | None = Field(None, alias="PROXY") remnawave_url: str = Field(alias="REMNAWAVE_URL") subscription_url: str = Field(alias="SUBSCRIPTION_URL") remnawave_token: SecretStr = Field(alias="REMNAWAVE_TOKEN") min_devices: int = Field(3, alias="MIN_DEVICES") max_devices: int = Field(12, alias="MAX_DEVICES") per_device_cost: int = Field(50, alias="PER_DEVICE_COST") whitelist_cost: int = Field(100, alias="WHITELIST_COST") whitelist_device_threshold: int = Field(6, alias="WHITELIST_DEVICE_THRESHOLD") general_squad: str = Field("2de0b5ea-49b9-4181-916f-ae67b9c83b80") whitelist_squad: str = Field("e4435baa-64d3-4b29-a18e-81ad1c60d977") autorenew_days_before: int = Field(1, alias="AUTORENEW_DAYS_BEFORE") autorenew_days_before: int = Field(1, alias="AUTORENEW_DAYS_BEFORE") settings = Settings() # type: ignore