From d56adb038f377560957d61c8c52cfd0347e2f9d9 Mon Sep 17 00:00:00 2001 From: EillesWan Date: Sun, 6 Oct 2024 04:00:15 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=B1=E2=80=8D=F0=9F=91=A4=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E7=8E=AF=E5=A2=83=E9=97=AE=E9=A2=98=E5=92=8Csend=5Fmd?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E7=9A=84=E9=97=AE=E9=A2=98=E3=80=82=E7=AE=80?= =?UTF-8?q?=E5=8D=95=E8=AF=B4=E5=B0=B1=E6=98=AF=E5=85=BC=E5=AE=B9=E6=80=A7?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- requirements.txt | 6 ++++-- .../liteyuki_user/profile_manager.py | 11 ++++++++--- .../trimo_plugin_msctconverter/msctexec.py | 18 ++++++++---------- .../trimo_plugin_msctconverter/mspvexec.py | 6 +++--- 4 files changed, 23 insertions(+), 18 deletions(-) diff --git a/requirements.txt b/requirements.txt index dbc9c6e..7bf29f7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,10 +3,12 @@ aiofiles>=23.2.1 colored>=2.2.4 GitPython>=3.1.43 httpx>=0.27.0 -nonebot-plugin-htmlrender>=0.1.0 +nonebot-plugin-htmlrender>=0.3.1 nonebot2[fastapi,httpx,websockets]>=2.3.3 nonebot-adapter-onebot>=2.4.3 -nonebot-plugin-alconna>=0.46.3 +arclet_alconna==1.8.15 +arclet_alconna_tools==0.7.6 +nonebot-plugin-alconna~=0.46.3 nonebot_plugin_apscheduler>=0.4.0 nonebot-adapter-satori>=0.11.5 # pyppeteer>=2.0.0 diff --git a/src/nonebot_plugins/liteyuki_user/profile_manager.py b/src/nonebot_plugins/liteyuki_user/profile_manager.py index b14cced..b02bd38 100644 --- a/src/nonebot_plugins/liteyuki_user/profile_manager.py +++ b/src/nonebot_plugins/liteyuki_user/profile_manager.py @@ -13,6 +13,7 @@ from src.utils.base.language import ( ) from src.utils.base.ly_typing import T_Bot, T_MessageEvent from src.utils.message.message import MarkdownMessage as md +from src.utils.message.html_tool import md_to_pic # from src.utils.message.html_tool import md_to_pic from .const import representative_timezones_list @@ -20,7 +21,7 @@ from src.utils import event as event_utils require("nonebot_plugin_alconna") -from nonebot_plugin_alconna import Alconna, Args, Arparma, Subcommand, on_alconna +from nonebot_plugin_alconna import Alconna, Args, Arparma, Subcommand, on_alconna, UniMessage profile_alc = on_alconna( @@ -87,7 +88,8 @@ async def _(result: Arparma, event: T_MessageEvent, bot: T_Bot): # 未输入值,尝试呼出菜单 menu = get_profile_menu(result.args["key"], ulang) if menu: - await md.send_md(menu, bot, event=event) + img_bytes = await md_to_pic(menu) + await profile_alc.finish(UniMessage.image(raw=img_bytes)) else: await profile_alc.finish( ulang.get( @@ -129,8 +131,9 @@ async def _(result: Arparma, event: T_MessageEvent, bot: T_Bot): f"\n> {ulang.get(f'user.profile.{key}.desc')}" f"\n> {btn_set} \n\n***\n" ) - await md.send_md(reply, bot, event=event) + img_bytes = await md_to_pic(reply) + await profile_alc.finish(UniMessage.image(raw=img_bytes)) def get_profile_menu(key: str, ulang: Language) -> Optional[str]: """获取属性的markdown菜单 @@ -182,3 +185,5 @@ def set_profile(key: str, value: str, user_id: str) -> bool: return True elif key == "nickname": return True + + return False \ No newline at end of file diff --git a/src/nonebot_plugins/trimo_plugin_msctconverter/msctexec.py b/src/nonebot_plugins/trimo_plugin_msctconverter/msctexec.py index 6ea0f2a..0bc3776 100644 --- a/src/nonebot_plugins/trimo_plugin_msctconverter/msctexec.py +++ b/src/nonebot_plugins/trimo_plugin_msctconverter/msctexec.py @@ -9,7 +9,7 @@ import asyncio from io import StringIO from pathlib import Path from typing import Annotated, Any, Union -from builtins import ellipsis +from types import EllipsisType # from nonebot import require @@ -54,6 +54,7 @@ from src.utils.base.language import get_user_lang # from src.utils.base.config import get_config from src.utils.message.message import MarkdownMessage +from src.utils.message.html_tool import md_to_pic from .execute_auto_translator import auto_translate # type: ignore from .utils import hanzi_timeid @@ -654,7 +655,7 @@ async def _( if arg in result.options[arg].args.keys() else result.options[arg].args ) - if ((_vlu := result.options[arg].value) is None or isinstance(_vlu, ellipsis) ) + if ((_vlu := result.options[arg].value) is None or isinstance(_vlu, EllipsisType) ) else _vlu ) # await musicreater_convert.finish( @@ -1045,18 +1046,16 @@ async def _( "upload_private_file", user_id=event.user_id, name=fn, file=fp ) - await MarkdownMessage.send_md( + img_bytes = await md_to_pic( "##{}\n\n```\n{}\n```".format( MarkdownMessage.escape("日志信息:"), buffer.getvalue().replace("\\", "/"), ), - bot, - event=event, ) - + await UniMessage.send(UniMessage.image(raw=img_bytes)) + # nonebot.logger.info(buffer.getvalue()) - - await MarkdownMessage.send_md( + img_bytes = await md_to_pic( "## 转换结果\n\n" + ("\n\n\n").join( [ @@ -1078,9 +1077,8 @@ async def _( ] ) + "\n\n### 言·论 \n\n **{}**".format(random_yanlun_text()), - bot, - event=event, ) + await UniMessage.send(UniMessage.image(raw=img_bytes)) global file_to_delete file_to_delete.append(fp) diff --git a/src/nonebot_plugins/trimo_plugin_msctconverter/mspvexec.py b/src/nonebot_plugins/trimo_plugin_msctconverter/mspvexec.py index 0b51676..0352763 100644 --- a/src/nonebot_plugins/trimo_plugin_msctconverter/mspvexec.py +++ b/src/nonebot_plugins/trimo_plugin_msctconverter/mspvexec.py @@ -41,6 +41,7 @@ from nonebot_plugin_alconna import ( from src.utils.base.ly_typing import T_Bot, T_MessageEvent from src.utils.message.message import MarkdownMessage +from src.utils.message.html_tool import md_to_pic from .msctexec import ( # people_convert_point, @@ -442,14 +443,13 @@ async def _( global file_to_delete file_to_delete.append(fp) - await MarkdownMessage.send_md( + img_bytes = await md_to_pic( "##{}\n\n```\n{}\n```".format( MarkdownMessage.escape("日志信息:"), buffer.getvalue().replace("\\", "/"), ), - bot, - event=event, ) + await UniMessage.send(UniMessage.image(raw=img_bytes)) # nonebot.logger.info(buffer.getvalue())