From 0edebacf2641c2c8acaccd21a910f1b01385d19e Mon Sep 17 00:00:00 2001 From: ThelevenFD <104363913+ThelevenFD@users.noreply.github.com> Date: Sun, 15 Dec 2024 23:31:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=85=8D=E7=BD=AE=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- zhenxun/builtin_plugins/check/__init__.py | 53 +++++++++++++++-------- 1 file changed, 35 insertions(+), 18 deletions(-) diff --git a/zhenxun/builtin_plugins/check/__init__.py b/zhenxun/builtin_plugins/check/__init__.py index 0417f323..273a5e3c 100644 --- a/zhenxun/builtin_plugins/check/__init__.py +++ b/zhenxun/builtin_plugins/check/__init__.py @@ -1,14 +1,14 @@ +from nonebot import on_notice +from nonebot.adapters.onebot.v11 import PokeNotifyEvent 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 nonebot_plugin_alconna import Alconna, 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.config import Config from zhenxun.configs.path_config import TEMPLATE_PATH -from zhenxun.configs.utils import PluginExtraData +from zhenxun.configs.utils import PluginExtraData, RegisterConfig from zhenxun.services.log import logger from zhenxun.utils.enum import PluginType from zhenxun.utils.message import MessageUtils @@ -26,7 +26,17 @@ __plugin_meta__ = PluginMetadata( 戳一戳BOT """.strip(), extra=PluginExtraData( - author="HibiKier", version="0.1", plugin_type=PluginType.SUPERUSER + author="HibiKier", + version="0.1", + plugin_type=PluginType.SUPERUSER, + configs=[ + RegisterConfig( + key="type", + value="mix", + help="自检触发方式 ['message', 'poke', 'mix']", + default_value="mix", + ) + ], ).dict(), ) @@ -51,19 +61,26 @@ async def handle_self_check(): await MessageUtils.build_message(f"自检失败: {e}").send() logger.error("自检失败", e=e) -#word -_self_check_matcher = on_alconna( - Alconna("自检"), rule=to_me(), permission=SUPERUSER, block=True, priority=1 -) -@_self_check_matcher.handle() -async def _(): - await handle_self_check() +check_type = Config.get_config("check", "type") -#poke -_self_check_poke_matcher = on_notice(priority=5, block=False, rule=notice_rule(PokeNotifyEvent) & to_me()) +if check_type in {"message", "mix"}: + # message + _self_check_matcher = on_alconna( + Alconna("自检"), rule=to_me(), permission=SUPERUSER, block=True, priority=1 + ) -@_self_check_poke_matcher.handle() -async def _(event: PokeNotifyEvent): - await handle_self_check() + @_self_check_matcher.handle() + async def handle_message_check(): + await handle_self_check() + +if check_type in {"poke", "mix"}: + # poke + _self_check_poke_matcher = on_notice( + priority=5, block=False, rule=notice_rule(PokeNotifyEvent) & to_me() + ) + + @_self_check_poke_matcher.handle() + async def handle_poke_check(event: PokeNotifyEvent): + await handle_self_check()