zhenxun_bot/zhenxun/ui/models/presets/plugin_menu.py

43 lines
879 B
Python
Raw Normal View History

from pydantic import BaseModel, Field
from ..core.base import RenderableComponent
__all__ = [
"PluginMenuCategory",
"PluginMenuData",
"PluginMenuItem",
]
class PluginMenuItem(BaseModel):
"""插件菜单中的单个插件项"""
id: str
name: str
status: bool
has_superuser_help: bool
commands: list[str] = Field(default_factory=list)
class PluginMenuCategory(BaseModel):
"""插件菜单中的一个分类"""
name: str
items: list[PluginMenuItem]
class PluginMenuData(RenderableComponent):
"""通用插件帮助菜单的数据模型"""
style_name: str | None = None
bot_name: str
bot_avatar_url: str
is_detail: bool
plugin_count: int
active_count: int
categories: list[PluginMenuCategory]
@property
def template_name(self) -> str:
return "pages/core/plugin_menu/main.html"