✨ 部分功能适配QQ BOT (#1701)

This commit is contained in:
HibiKier
2024-10-18 18:57:55 +08:00
committed by GitHub
parent 7567bfb732
commit 3d3a2a5f7f
29 changed files with 528 additions and 310 deletions
+16 -6
View File
@@ -1,7 +1,9 @@
from pydantic import BaseModel
from nonebot_plugin_uninfo import Uninfo
from nonebot_plugin_htmlrender import template_to_pic
from zhenxun.utils.enum import BlockType
from zhenxun.configs.config import BotConfig
from zhenxun.utils.platform import PlatformUtils
from zhenxun.models.plugin_info import PluginInfo
from zhenxun.configs.path_config import TEMPLATE_PATH
@@ -60,7 +62,15 @@ def build_plugin_data(classify: dict[str, list[Item]]) -> list[dict[str, str]]:
for menu, value in classify.items()
]
plugin_list = build_line_data(plugin_list)
plugin_list.insert(0, build_plugin_line(menu_key, max_data, 30, 100))
plugin_list.insert(
0,
build_plugin_line(
menu_key if menu_key not in ["normal", "功能"] else "主要功能",
max_data,
30,
100,
),
)
return plugin_list
@@ -113,25 +123,25 @@ def build_line_data(plugin_list: list[dict]) -> list[dict]:
return data
async def build_zhenxun_image(
bot_id: str, group_id: str | None, platform: str
) -> bytes:
async def build_zhenxun_image(session: Uninfo, group_id: str | None) -> bytes:
"""构造真寻帮助图片
参数:
bot_id: bot_id
group_id: 群号
platform: 平台
"""
classify = await classify_plugin(group_id, __handle_item)
plugin_list = build_plugin_data(classify)
platform = PlatformUtils.get_platform(session)
bot_id = BotConfig.get_qbot_uid(session.self_id) or session.self_id
bot_ava = PlatformUtils.get_user_avatar_url(bot_id, platform)
return await template_to_pic(
template_path=str((TEMPLATE_PATH / "ss_menu").absolute()),
template_name="main.html",
templates={
"data": {
"plugin_list": plugin_list,
"ava": PlatformUtils.get_user_avatar_url(bot_id, platform),
"ava": bot_ava,
}
},
pages={