zhenxun_bot/zhenxun/configs/config.py
2024-09-07 16:46:56 +08:00

47 lines
1.1 KiB
Python

import random
from pathlib import Path
import nonebot
from pydantic import BaseModel
from .utils import ConfigsManager
class BotSetting(BaseModel):
self_nickname: str = ""
"""回复时NICKNAME"""
system_proxy: str | None = None
"""系统代理"""
db_url: str = ""
"""数据库链接"""
platform_superusers: dict[str, list[str]] = {}
"""平台超级用户"""
def get_superuser(self, platform: str) -> str:
"""获取超级用户
参数:
platform: 对应平台
返回:
str | None: 超级用户id
"""
if self.platform_superusers:
if platform_superuser := self.platform_superusers.get(platform):
return random.choice(platform_superuser)
return ""
def get_sql_type(self) -> str:
"""获取数据库类型
返回:
str: 数据库类型, postgres, aiomysql, sqlite
"""
return self.db_url.split(":", 1)[0] if self.db_url else ""
Config = ConfigsManager(Path() / "data" / "configs" / "plugins2config.yaml")
BotConfig = nonebot.get_plugin_config(BotSetting)