34 lines
1001 B
Python
34 lines
1001 B
Python
from pydantic import field_validator
|
|
from pydantic_settings import BaseSettings, SettingsConfigDict
|
|
import os
|
|
|
|
|
|
class Config(BaseSettings):
|
|
"""Points system configuration."""
|
|
|
|
model_config = SettingsConfigDict(
|
|
extra="ignore",
|
|
)
|
|
|
|
# xapi /bot/points 运行时 API 配置
|
|
POINTS_API_HOST: str = os.getenv("DANDING_POINTS_API_HOST", "https://api.danding.vip/bot/points")
|
|
BOT_USER: str = os.getenv("DANDING_BOT_USER", "1424473282")
|
|
BOT_TOKEN: str = os.getenv(
|
|
"DANDING_BOT_TOKEN",
|
|
os.getenv("DANDING_API_TOKEN", os.getenv("BOT_TOKEN", "")),
|
|
)
|
|
|
|
@field_validator("POINTS_API_HOST")
|
|
@classmethod
|
|
def validate_api_host(cls, value):
|
|
if not value:
|
|
raise ValueError("POINTS_API_HOST cannot be empty")
|
|
return value.rstrip("/")
|
|
|
|
@field_validator("BOT_USER")
|
|
@classmethod
|
|
def validate_bot_user(cls, value):
|
|
if not value:
|
|
raise ValueError("BOT_USER cannot be empty")
|
|
return value
|