mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2025-12-15 06:12:53 +08:00
135 lines
2.4 KiB
Python
135 lines
2.4 KiB
Python
from typing import Any, Dict, List, Optional, Union
|
|
|
|
from pydantic import BaseModel
|
|
|
|
from utils.manager.models import Plugin as PluginManager
|
|
from utils.manager.models import (
|
|
PluginBlock,
|
|
PluginCd,
|
|
PluginCount,
|
|
PluginSetting,
|
|
PluginType,
|
|
)
|
|
from utils.typing import BLOCK_TYPE
|
|
|
|
|
|
class PluginSwitch(BaseModel):
|
|
"""
|
|
插件开关
|
|
"""
|
|
|
|
module: str
|
|
"""模块"""
|
|
status: bool
|
|
"""开关状态"""
|
|
|
|
|
|
class UpdateConfig(BaseModel):
|
|
"""
|
|
配置项修改参数
|
|
"""
|
|
|
|
module: str
|
|
"""模块"""
|
|
key: str
|
|
"""配置项key"""
|
|
value: Any
|
|
"""配置项值"""
|
|
|
|
|
|
class UpdatePlugin(BaseModel):
|
|
"""
|
|
插件修改参数
|
|
"""
|
|
|
|
module: str
|
|
"""模块"""
|
|
default_status: bool
|
|
"""默认开关"""
|
|
limit_superuser: bool
|
|
"""限制超级用户"""
|
|
cost_gold: int
|
|
"""金币花费"""
|
|
cmd: str
|
|
"""插件别名"""
|
|
menu_type: str
|
|
"""插件菜单类型"""
|
|
level: int
|
|
"""插件所需群权限"""
|
|
block_type: BLOCK_TYPE
|
|
"""禁用类型"""
|
|
|
|
|
|
class PluginInfo(BaseModel):
|
|
"""
|
|
基本插件信息
|
|
"""
|
|
|
|
module: str
|
|
"""插件名称"""
|
|
plugin_name: str
|
|
"""插件中文名称"""
|
|
default_switch: bool
|
|
"""默认开关"""
|
|
limit_superuser: bool
|
|
"""限制超级用户"""
|
|
cost_gold: int
|
|
"""花费金币"""
|
|
menu_type: str
|
|
"""插件菜单类型"""
|
|
version: Union[int, str, float]
|
|
"""插件版本"""
|
|
level: int
|
|
"""群权限"""
|
|
status: bool
|
|
"""当前状态"""
|
|
author: Optional[str] = None
|
|
"""作者"""
|
|
|
|
|
|
class PluginConfig(BaseModel):
|
|
"""
|
|
插件配置项
|
|
"""
|
|
|
|
module: str
|
|
key: str
|
|
value: Any
|
|
help: Optional[str]
|
|
default_value: Any
|
|
has_type: bool
|
|
|
|
|
|
class Plugin(BaseModel):
|
|
"""
|
|
插件
|
|
"""
|
|
|
|
module: str
|
|
"""模块名称"""
|
|
plugin_settings: Optional[PluginSetting]
|
|
"""settings"""
|
|
plugin_manager: Optional[PluginManager]
|
|
"""manager"""
|
|
plugin_config: Optional[Dict[str, PluginConfig]]
|
|
"""配置项"""
|
|
cd_limit: Optional[PluginCd]
|
|
"""cd限制"""
|
|
block_limit: Optional[PluginBlock]
|
|
"""阻断限制"""
|
|
count_limit: Optional[PluginCount]
|
|
"""次数限制"""
|
|
|
|
class PluginCount(BaseModel):
|
|
"""
|
|
插件数量
|
|
"""
|
|
|
|
normal: int = 0
|
|
"""普通插件"""
|
|
admin: int = 0
|
|
"""管理员插件"""
|
|
superuser: int = 0
|
|
"""超级用户插件"""
|
|
other: int = 0
|
|
"""其他插件""" |