diff --git a/zhenxun/builtin_plugins/check/__init__.py b/zhenxun/builtin_plugins/check/__init__.py index f4c4f89a..d2f70b8f 100644 --- a/zhenxun/builtin_plugins/check/__init__.py +++ b/zhenxun/builtin_plugins/check/__init__.py @@ -4,12 +4,15 @@ from nonebot.rule import to_me from nonebot_plugin_alconna import Alconna, Arparma, on_alconna from nonebot_plugin_htmlrender import template_to_pic from nonebot_plugin_session import EventSession +from nonebot import on_notice +from nonebot.adapters.onebot.v11 import PokeNotifyEvent from zhenxun.configs.path_config import TEMPLATE_PATH from zhenxun.configs.utils import PluginExtraData from zhenxun.services.log import logger from zhenxun.utils.enum import PluginType from zhenxun.utils.message import MessageUtils +from zhenxun.utils.rules import notice_rule from .data_source import get_status_info @@ -31,10 +34,10 @@ _matcher = on_alconna( Alconna("自检"), rule=to_me(), permission=SUPERUSER, block=True, priority=1 ) - @_matcher.handle() async def _(session: EventSession, arparma: Arparma): try: + logger.info("触发自检") data = await get_status_info() image = await template_to_pic( template_path=str((TEMPLATE_PATH / "check").absolute()), @@ -47,7 +50,32 @@ async def _(session: EventSession, arparma: Arparma): wait=2, ) await MessageUtils.build_message(image).send() - logger.info("自检", arparma.header_result, session=session) + logger.info("自检成功", arparma.header_result, session=session) except Exception as e: await MessageUtils.build_message(f"自检失败: {e}").send() logger.error("自检失败", arparma.header_result, session=session, e=e) + +_matcherI = on_notice(priority=1, block=True, rule=notice_rule(PokeNotifyEvent) & to_me()) + +@_matcherI.handle() +async def _(event: PokeNotifyEvent): + try: + logger.info("触发自检") + data = await get_status_info() + image = await template_to_pic( + template_path=str((TEMPLATE_PATH / "check").absolute()), + template_name="main.html", + templates={"data": data}, + pages={ + "viewport": {"width": 195, "height": 750}, + "base_url": f"file://{TEMPLATE_PATH}", + }, + wait=2, + ) + await MessageUtils.build_message(image).send() + logger.info("自检成功") + except Exception as e: + await MessageUtils.build_message(f"自检失败: {e}").send() + logger.error("自检失败", e=e) + +