mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2025-12-15 14:22:55 +08:00
65 lines
2.1 KiB
Python
Executable File
65 lines
2.1 KiB
Python
Executable File
import os
|
|
|
|
from nonebot import on_command
|
|
from nonebot.adapters.onebot.v11 import Bot, GroupMessageEvent, Message, MessageEvent
|
|
from nonebot.params import CommandArg
|
|
from nonebot.rule import to_me
|
|
|
|
from configs.path_config import DATA_PATH, IMAGE_PATH
|
|
from services.log import logger
|
|
from utils.message_builder import image
|
|
|
|
from ._data_source import create_help_img, get_plugin_help
|
|
from ._utils import GROUP_HELP_PATH
|
|
|
|
__zx_plugin_name__ = "帮助"
|
|
|
|
__plugin_configs__ = {
|
|
"TYPE": {
|
|
"value": "normal",
|
|
"help": "帮助图片样式 ['normal', 'HTML']",
|
|
"default_value": "normal",
|
|
"type": str,
|
|
}
|
|
}
|
|
|
|
simple_help_image = IMAGE_PATH / "simple_help.png"
|
|
if simple_help_image.exists():
|
|
simple_help_image.unlink()
|
|
|
|
|
|
simple_help = on_command(
|
|
"功能", rule=to_me(), aliases={"help", "帮助"}, priority=1, block=True
|
|
)
|
|
|
|
|
|
@simple_help.handle()
|
|
async def _(bot: Bot, event: MessageEvent, arg: Message = CommandArg()):
|
|
msg = arg.extract_plain_text().strip()
|
|
is_super = False
|
|
if msg:
|
|
if "-super" in msg:
|
|
if str(event.user_id) in bot.config.superusers:
|
|
is_super = True
|
|
msg = msg.replace("-super", "").strip()
|
|
msg = get_plugin_help(msg, is_super)
|
|
if msg:
|
|
await simple_help.send(image(b64=msg))
|
|
else:
|
|
await simple_help.send("没有此功能的帮助信息...")
|
|
logger.info(
|
|
f"查看帮助详情: {msg}", "帮助", event.user_id, getattr(event, "group_id", None)
|
|
)
|
|
else:
|
|
if isinstance(event, GroupMessageEvent):
|
|
_image_path = GROUP_HELP_PATH / f"{event.group_id}.png"
|
|
if not _image_path.exists():
|
|
await create_help_img(event.group_id)
|
|
await simple_help.send(image(_image_path))
|
|
else:
|
|
if not simple_help_image.exists():
|
|
if simple_help_image.exists():
|
|
simple_help_image.unlink()
|
|
await create_help_img(None)
|
|
await simple_help.finish(image("simple_help.png"))
|