feat(bot): use runtime api for bot data

This commit is contained in:
2026-06-20 18:20:40 +08:00
parent f67f3ca1d6
commit 8d26c46323
16 changed files with 1803 additions and 1491 deletions

View File

@@ -1,6 +1,7 @@
from pydantic import Field, field_validator
from pydantic_settings import BaseSettings, SettingsConfigDict
import json
from pydantic import Field, field_validator
from pydantic_settings import BaseSettings, SettingsConfigDict
import json
import os
class Config(BaseSettings):
@@ -43,8 +44,34 @@ class Config(BaseSettings):
}
)
# 数据库配置
RACE_DB_FILE: str = "data/group_horse_racing/race.db"
# 数据库配置
RACE_DB_FILE: str = "data/group_horse_racing/race.db"
# xapi /bot/race 运行时 API 配置
RACE_API_HOST: str = os.getenv("DANDING_RACE_API_HOST", "https://api.danding.vip/bot/race")
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("RACE_API_HOST")
@classmethod
def validate_race_api_host(cls, value):
"""规范化 xapi 赛马运行时 API 地址。"""
if not value:
raise ValueError("RACE_API_HOST cannot be empty")
return value.rstrip("/")
@field_validator("BOT_USER")
@classmethod
def validate_bot_user(cls, value):
"""Bot 鉴权用户不能为空。"""
if not value:
raise ValueError("BOT_USER cannot be empty")
return value
@field_validator("TESTERS", "TEST_GROUPS", "ALLOWED_GROUPS", mode="before")
@classmethod