✨ 重构帮助,限制普通用户查询管理插件 (#1626)

This commit is contained in:
HibiKier
2024-09-14 05:23:55 +08:00
committed by GitHub
parent d97e437e80
commit 029a731fb9
9 changed files with 491 additions and 367 deletions
+6 -11
View File
@@ -16,10 +16,9 @@ from nonebot_plugin_alconna import (
from zhenxun.services.log import logger
from zhenxun.utils.enum import PluginType
from zhenxun.utils.message import MessageUtils
from zhenxun.configs.path_config import IMAGE_PATH
from zhenxun.configs.utils import RegisterConfig, PluginExtraData
from zhenxun.builtin_plugins.help._config import GROUP_HELP_PATH, SIMPLE_HELP_IMAGE
from ._utils import GROUP_HELP_PATH
from ._data_source import create_help_img, get_plugin_help
__plugin_meta__ = PluginMetadata(
@@ -42,10 +41,6 @@ __plugin_meta__ = PluginMetadata(
)
SIMPLE_HELP_IMAGE = IMAGE_PATH / "SIMPLE_HELP.png"
if SIMPLE_HELP_IMAGE.exists():
SIMPLE_HELP_IMAGE.unlink()
_matcher = on_alconna(
Alconna(
"功能",
@@ -66,11 +61,13 @@ async def _(
session: EventSession,
is_superuser: Query[bool] = AlconnaQuery("superuser.value", False),
):
if not session.id1:
await MessageUtils.build_message("用户id为空...").finish()
_is_superuser = is_superuser.result if is_superuser.available else False
if name.available:
if _is_superuser and session.id1 not in bot.config.superusers:
_is_superuser = False
if result := await get_plugin_help(name.result, _is_superuser):
if result := await get_plugin_help(session.id1, name.result, _is_superuser):
await MessageUtils.build_message(result).send(reply_to=True)
else:
await MessageUtils.build_message("没有此功能的帮助信息...").send(
@@ -80,11 +77,9 @@ async def _(
elif gid := session.id3 or session.id2:
_image_path = GROUP_HELP_PATH / f"{gid}.png"
if not _image_path.exists():
await create_help_img(bot.self_id, gid)
await create_help_img(bot.self_id, gid, session.platform)
await MessageUtils.build_message(_image_path).finish()
else:
if not SIMPLE_HELP_IMAGE.exists():
if SIMPLE_HELP_IMAGE.exists():
SIMPLE_HELP_IMAGE.unlink()
await create_help_img(bot.self_id, None)
await create_help_img(bot.self_id, None, session.platform)
await MessageUtils.build_message(SIMPLE_HELP_IMAGE).finish()