增加配置项

This commit is contained in:
ThelevenFD 2024-12-15 23:31:07 +08:00 committed by GitHub
parent 8b7a410706
commit 0edebacf26
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,14 +1,14 @@
from nonebot import on_notice
from nonebot.adapters.onebot.v11 import PokeNotifyEvent
from nonebot.permission import SUPERUSER from nonebot.permission import SUPERUSER
from nonebot.plugin import PluginMetadata from nonebot.plugin import PluginMetadata
from nonebot.rule import to_me 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_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.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.services.log import logger
from zhenxun.utils.enum import PluginType from zhenxun.utils.enum import PluginType
from zhenxun.utils.message import MessageUtils from zhenxun.utils.message import MessageUtils
@ -26,7 +26,17 @@ __plugin_meta__ = PluginMetadata(
戳一戳BOT 戳一戳BOT
""".strip(), """.strip(),
extra=PluginExtraData( 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(), ).dict(),
) )
@ -51,19 +61,26 @@ async def handle_self_check():
await MessageUtils.build_message(f"自检失败: {e}").send() await MessageUtils.build_message(f"自检失败: {e}").send()
logger.error("自检失败", e=e) logger.error("自检失败", e=e)
#word
_self_check_matcher = on_alconna(
Alconna("自检"), rule=to_me(), permission=SUPERUSER, block=True, priority=1
)
@_self_check_matcher.handle() check_type = Config.get_config("check", "type")
async def _():
await handle_self_check()
#poke if check_type in {"message", "mix"}:
_self_check_poke_matcher = on_notice(priority=5, block=False, rule=notice_rule(PokeNotifyEvent) & to_me()) # message
_self_check_matcher = on_alconna(
Alconna("自检"), rule=to_me(), permission=SUPERUSER, block=True, priority=1
)
@_self_check_poke_matcher.handle() @_self_check_matcher.handle()
async def _(event: PokeNotifyEvent): async def handle_message_check():
await handle_self_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()