zhenxun_bot/plugins/web_ui/config.py

122 lines
2.4 KiB
Python
Raw Normal View History

2022-04-05 13:14:29 +08:00
from typing import Optional, List, Any, Union
2022-04-04 20:33:37 +08:00
from pydantic import BaseModel
from fastapi.middleware.cors import CORSMiddleware
import nonebot
app = nonebot.get_app()
origins = ["http://localhost"]
app.add_middleware(
CORSMiddleware,
allow_origins=origins,
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
class CdLimit(BaseModel):
cd: int
status: bool
check_type: str
limit_type: str
rst: Optional[str]
class BlockLimit(BaseModel):
status: bool
check_type: str
limit_type: str
rst: Optional[str]
class CountLimit(BaseModel):
max_count: int
status: bool
limit_type: bool
rst: Optional[str]
class PluginManager(BaseModel):
plugin_name: str # 插件名称
status: Optional[bool] # 插件状态
error: Optional[bool] # 加载状态
version: Optional[float] # 版本
author: Optional[str] # 作者
block_type: Optional[str] # 禁用类型
class PluginSettings(BaseModel):
level: Optional[int] # 群权限等级
default_status: Optional[bool] # 默认开关
limit_superuser: Optional[bool] # 是否限制超级用户
cmd: Optional[str] # cmd别名
cost_gold: Optional[int] # 花费金币限制
2022-04-05 13:14:29 +08:00
plugin_type: Optional[List[Union[str, int]]] # 帮助类型
2022-04-04 20:33:37 +08:00
2022-04-10 22:19:50 +08:00
class PluginConfig(BaseModel):
id: int
key: str
value: Optional[Any]
help_: Optional[str]
default_value: Optional[Any]
2022-04-04 20:33:37 +08:00
class Plugin(BaseModel):
model: str # 模块
plugin_settings: Optional[PluginSettings]
plugin_manager: Optional[PluginManager]
2022-04-10 22:19:50 +08:00
plugin_config: Optional[List[PluginConfig]]
2022-04-04 20:33:37 +08:00
cd_limit: Optional[CdLimit]
block_limit: Optional[BlockLimit]
count_limit: Optional[CountLimit]
class Group(BaseModel):
group_id: int
group_name: str
member_count: int
max_member_count: int
class Task(BaseModel):
name: str
nameZh: str
status: bool
class GroupResult(BaseModel):
group: Group
level: int
status: bool
close_plugins: List[str]
task: List[Task]
class RequestResult(BaseModel):
oid: str
id: int
flag: str
nickname: Optional[str]
level: Optional[int]
sex: Optional[str]
age: Optional[int]
from_: Optional[str]
comment: Optional[str]
invite_group: Optional[int]
group_name: Optional[str]
class RequestParma(BaseModel):
id: int
handle: str
type: str
class Result(BaseModel):
code: int
data: Any