🐱👤修复环境问题和send_md导致的问题。简单说就是兼容性问题

This commit is contained in:
EillesWan 2024-10-06 04:00:15 +08:00
parent 7347424c0b
commit d56adb038f
4 changed files with 23 additions and 18 deletions

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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())