mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2025-12-15 14:22:55 +08:00
63 lines
1.8 KiB
Python
63 lines
1.8 KiB
Python
|
|
from nonebot.permission import SUPERUSER
|
|||
|
|
from nonebot.plugin import PluginMetadata
|
|||
|
|
from nonebot.rule import to_me
|
|||
|
|
from nonebot_plugin_alconna import Alconna, Arparma, on_alconna
|
|||
|
|
|
|||
|
|
from zhenxun.configs.utils import PluginExtraData, RegisterConfig
|
|||
|
|
from zhenxun.services import renderer_service
|
|||
|
|
from zhenxun.services.log import logger
|
|||
|
|
from zhenxun.utils.enum import PluginType
|
|||
|
|
from zhenxun.utils.message import MessageUtils
|
|||
|
|
|
|||
|
|
__plugin_meta__ = PluginMetadata(
|
|||
|
|
name="UI管理",
|
|||
|
|
description="管理UI、主题和渲染服务的相关配置",
|
|||
|
|
usage="""
|
|||
|
|
指令:
|
|||
|
|
重载UI主题
|
|||
|
|
""".strip(),
|
|||
|
|
extra=PluginExtraData(
|
|||
|
|
author="HibiKier",
|
|||
|
|
version="0.1",
|
|||
|
|
plugin_type=PluginType.SUPERUSER,
|
|||
|
|
configs=[
|
|||
|
|
RegisterConfig(
|
|||
|
|
module="UI",
|
|||
|
|
key="THEME",
|
|||
|
|
value="default",
|
|||
|
|
help="设置渲染服务使用的全局主题名称(对应 resources/themes/下的目录名)",
|
|||
|
|
default_value="default",
|
|||
|
|
type=str,
|
|||
|
|
),
|
|||
|
|
RegisterConfig(
|
|||
|
|
module="UI",
|
|||
|
|
key="CACHE",
|
|||
|
|
value=True,
|
|||
|
|
help="是否为渲染服务生成的图片启用文件缓存",
|
|||
|
|
default_value=True,
|
|||
|
|
type=bool,
|
|||
|
|
),
|
|||
|
|
],
|
|||
|
|
).to_dict(),
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
|
|||
|
|
_matcher = on_alconna(
|
|||
|
|
Alconna("重载主题"),
|
|||
|
|
rule=to_me(),
|
|||
|
|
permission=SUPERUSER,
|
|||
|
|
priority=1,
|
|||
|
|
block=True,
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
|
|||
|
|
@_matcher.handle()
|
|||
|
|
async def _(arparma: Arparma):
|
|||
|
|
theme_name = await renderer_service.reload_theme()
|
|||
|
|
logger.info(
|
|||
|
|
f"UI主题已重载为: {theme_name}", "UI管理器", session=arparma.header_result
|
|||
|
|
)
|
|||
|
|
await MessageUtils.build_message(f"UI主题已成功重载为 '{theme_name}'!").send(
|
|||
|
|
reply_to=True
|
|||
|
|
)
|