From 8a0f25b5b0b815b658ed4982acd10bb358cc19cf Mon Sep 17 00:00:00 2001 From: SnowyFox <156929726+MoeSnowyFox@users.noreply.github.com> Date: Thu, 18 Apr 2024 00:22:36 +0800 Subject: [PATCH 1/9] Update zh-CN.lang --- liteyuki/resources/lang/zh-CN.lang | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/liteyuki/resources/lang/zh-CN.lang b/liteyuki/resources/lang/zh-CN.lang index 10a4df61..7ed30f60 100644 --- a/liteyuki/resources/lang/zh-CN.lang +++ b/liteyuki/resources/lang/zh-CN.lang @@ -126,4 +126,15 @@ rpm.move_top=置顶 weather.city_not_found=未找到城市 {CITY} weather.weather_not_found=未找到城市 {CITY} 的天气信息 -weather.no_key=未设置天气api key,请在配置文件添加weather-key \ No newline at end of file +weather.no_key=未设置天气api key,请在配置文件添加weather-key + +npm.enable_global = 全局启用插件 +npm.disable_global = 全局停用插件 +npm.search = 搜索插件 +npm.uninstall = 卸载插件 +npm.install = 安装插件 +npm.update_index = 更新插件商店索引 +npm.list_plugins = 列出所有插件 +npm.disable_session = 当前会话停用插件 +npm.enable_session = 当前会话启用插件 +npm.help = npm帮助 From 0fcde73178df266fc4b786e560c714b3df432354 Mon Sep 17 00:00:00 2001 From: SnowyFox <156929726+MoeSnowyFox@users.noreply.github.com> Date: Thu, 18 Apr 2024 00:23:14 +0800 Subject: [PATCH 2/9] Update rpm.py --- liteyuki/plugins/liteyuki_pacman/rpm.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/liteyuki/plugins/liteyuki_pacman/rpm.py b/liteyuki/plugins/liteyuki_pacman/rpm.py index 5c81027e..612345b8 100644 --- a/liteyuki/plugins/liteyuki_pacman/rpm.py +++ b/liteyuki/plugins/liteyuki_pacman/rpm.py @@ -167,5 +167,5 @@ async def _(bot: T_Bot, event: T_MessageEvent, result: Arparma): ulang.get("liteyuki.list_resources"), f"rpm list" ) - reply += f"{btn_list} {btn_reload}" + reply += f"{btn_list} \n {btn_reload}" await md.send_md(reply, bot, event=event) From 778bcf762326975a6343e6eba361a806716b0f7e Mon Sep 17 00:00:00 2001 From: SnowyFox <156929726+MoeSnowyFox@users.noreply.github.com> Date: Thu, 18 Apr 2024 00:23:29 +0800 Subject: [PATCH 3/9] Update npm.py --- liteyuki/plugins/liteyuki_pacman/npm.py | 53 ++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/liteyuki/plugins/liteyuki_pacman/npm.py b/liteyuki/plugins/liteyuki_pacman/npm.py index 0b16db67..0bcae73c 100644 --- a/liteyuki/plugins/liteyuki_pacman/npm.py +++ b/liteyuki/plugins/liteyuki_pacman/npm.py @@ -334,7 +334,58 @@ async def _(result: Arparma, event: T_MessageEvent, bot: T_Bot, npm: Matcher): await md.send_md(reply, bot, event=event) else: - await npm.finish(ulang.get("liteyuki.invalid_command")) + if await SUPERUSER(bot, event): + btn_enable_global = md.btn_cmd(ulang.get("npm.enable_global"), "npm enable-global", False, False) + btn_disable_global = md.btn_cmd(ulang.get("npm.disable_global"), "npm disable-global", False, False) + btn_search = md.btn_cmd(ulang.get("npm.search"), "npm search ", False, False) + btn_uninstall_ = md.btn_cmd(ulang.get("npm.uninstall"), "npm uninstall ", False, False) + btn_install_ = md.btn_cmd(ulang.get("npm.install"), "npm install ", False, False) + btn_update = md.btn_cmd(ulang.get("npm.update_index"), "npm update", False, True) + btn_list = md.btn_cmd(ulang.get("npm.list_plugins"), "npm list ", False, False) + btn_disable = md.btn_cmd(ulang.get("npm.disable_session"), "npm disable ", False, False) + btn_enable = md.btn_cmd(ulang.get("npm.enable_session"), "npm enable ", False, False) + reply = ( + f"\n# **{ulang.get("npm.help")}**" + f"\n{btn_update}" + f"\n>*{md.escape('npm update')}*\n" + f"\n{btn_install_}" + f"\n>*{md.escape('npm install ')}*\n" + f"\n{btn_uninstall_}" + f"\n>*{md.escape('npm uninstall ')}*\n" + f"\n{btn_search}" + f"\n>*{md.escape('npm search ')}*\n" + f"\n{btn_disable_global}" + f"\n>*{md.escape('npm disable-global ')}*\n" + f"\n{btn_enable_global}" + f"\n>*{md.escape('npm enable-global ')}*\n" + f"\n{btn_uninstall_}" + f"\n>*{md.escape('npm uninstall ')}*\n" + f"\n{btn_disable}" + f"\n>*{md.escape('npm disable ')}*\n" + f"\n{btn_enable}" + f"\n>*{md.escape('npm enable ')}*\n" + f"\n{btn_list}" + f"\n>page为页数,num为每页显示数量" + f"\n>*{md.escape('npm list [page] [num]')}*" + ) + await md.send_md(reply, bot, event=event) + else: + + btn_list = md.btn_cmd(ulang.get("npm.list_plugins"), "npm list ", False, False) + btn_disable = md.btn_cmd(ulang.get("npm.disable_session"), "npm disable ", False, False) + btn_enable = md.btn_cmd(ulang.get("npm.enable_session"), "npm enable ", False, False) + reply = ( + f"\n# **{ulang.get("npm.help")}**" + f"\n{btn_disable}" + f"\n>*{md.escape('npm disable ')}*\n" + f"\n{btn_enable}" + f"\n>*{md.escape('npm enable ')}*\n" + f"\n{btn_list}" + f"\n>page为页数,num为每页显示数量" + f"\n>*{md.escape('npm list [page] [num]')}*" + ) + + await md.send_md(reply, bot, event=event) @on_alconna( From 2cfd0de8e31deb811d7c65a8f6f4d5fe0cbb08fa Mon Sep 17 00:00:00 2001 From: SnowyFox <156929726+MoeSnowyFox@users.noreply.github.com> Date: Thu, 18 Apr 2024 00:24:02 +0800 Subject: [PATCH 4/9] Update runtime.py --- liteyuki/liteyuki_main/runtime.py | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/liteyuki/liteyuki_main/runtime.py b/liteyuki/liteyuki_main/runtime.py index 16fe1d19..f06f1ca3 100644 --- a/liteyuki/liteyuki_main/runtime.py +++ b/liteyuki/liteyuki_main/runtime.py @@ -8,10 +8,12 @@ from nonebot.adapters.onebot.v11 import MessageSegment from nonebot.permission import SUPERUSER from liteyuki.utils import __NAME__, __VERSION__, load_from_yaml from liteyuki.utils.message.html_tool import template2image -from liteyuki.utils.base.language import Language, get_default_lang_code, get_user_lang +from liteyuki.utils.base.language import Language, get_default_lang, get_user_lang from liteyuki.utils.base.ly_typing import T_Bot, T_MessageEvent from liteyuki.utils.base.resource import get_path from liteyuki.utils.message.tools import convert_size +from PIL import Image +from io import BytesIO stats = on_command("status", aliases={"状态"}, priority=5, permission=SUPERUSER) @@ -35,12 +37,26 @@ async def _(bot: T_Bot, event: T_MessageEvent): { "data": await get_stats_data(bot.self_id, ulang.lang_code) }, + debug=True, wait=1 ) + print(image) + image = await png_to_jpg(image) + print(image) await stats.finish(MessageSegment.image(image)) -async def get_bots_data(ulang: Language, self_id: "") -> list: +async def png_to_jpg(image): + image_stream = BytesIO(image) + img = Image.open(image_stream) + rgb_img = img.convert('RGB') + output_stream = BytesIO() + rgb_img.save(output_stream, format='JPEG') + jpg_bytes = output_stream.getvalue() + return jpg_bytes + + +async def get_bots_data(ulang: Language, self_id) -> list: bots_data = [] for bot_id, bot in nonebot.get_bots().items(): groups = 0 @@ -100,7 +116,7 @@ async def get_stats_data(self_id: str = None, lang: str = None) -> dict: if self_id is None: self_id = list(nonebot.get_bots().keys())[0] if len(nonebot.get_bots()) > 0 else "liteyuki" if lang is None: - ulang = Language(get_default_lang_code()) + ulang = get_default_lang() else: ulang = Language(lang) From 391a18340254e2c8988979470bfad88768621de4 Mon Sep 17 00:00:00 2001 From: SnowyFox <156929726+MoeSnowyFox@users.noreply.github.com> Date: Thu, 18 Apr 2024 22:36:16 +0800 Subject: [PATCH 5/9] Update runtime.py --- liteyuki/liteyuki_main/runtime.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/liteyuki/liteyuki_main/runtime.py b/liteyuki/liteyuki_main/runtime.py index f06f1ca3..0f98bc83 100644 --- a/liteyuki/liteyuki_main/runtime.py +++ b/liteyuki/liteyuki_main/runtime.py @@ -8,7 +8,7 @@ from nonebot.adapters.onebot.v11 import MessageSegment from nonebot.permission import SUPERUSER from liteyuki.utils import __NAME__, __VERSION__, load_from_yaml from liteyuki.utils.message.html_tool import template2image -from liteyuki.utils.base.language import Language, get_default_lang, get_user_lang +from liteyuki.utils.base.language import Language, get_default_lang_code, get_user_lang from liteyuki.utils.base.ly_typing import T_Bot, T_MessageEvent from liteyuki.utils.base.resource import get_path from liteyuki.utils.message.tools import convert_size @@ -116,7 +116,7 @@ async def get_stats_data(self_id: str = None, lang: str = None) -> dict: if self_id is None: self_id = list(nonebot.get_bots().keys())[0] if len(nonebot.get_bots()) > 0 else "liteyuki" if lang is None: - ulang = get_default_lang() + ulang = get_default_lang_code() else: ulang = Language(lang) From b284e522034fd106cdf4d3bfebcfdf4d9a5740ec Mon Sep 17 00:00:00 2001 From: SnowyFox <156929726+MoeSnowyFox@users.noreply.github.com> Date: Thu, 18 Apr 2024 22:37:57 +0800 Subject: [PATCH 6/9] Update runtime.py --- liteyuki/liteyuki_main/runtime.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/liteyuki/liteyuki_main/runtime.py b/liteyuki/liteyuki_main/runtime.py index 0f98bc83..fc5cc070 100644 --- a/liteyuki/liteyuki_main/runtime.py +++ b/liteyuki/liteyuki_main/runtime.py @@ -40,9 +40,7 @@ async def _(bot: T_Bot, event: T_MessageEvent): debug=True, wait=1 ) - print(image) image = await png_to_jpg(image) - print(image) await stats.finish(MessageSegment.image(image)) From 2e4013e94810c681a1e8b835e9616d3d8a010506 Mon Sep 17 00:00:00 2001 From: SnowyFox <156929726+MoeSnowyFox@users.noreply.github.com> Date: Thu, 18 Apr 2024 22:38:53 +0800 Subject: [PATCH 7/9] Update runtime.py --- liteyuki/liteyuki_main/runtime.py | 1 - 1 file changed, 1 deletion(-) diff --git a/liteyuki/liteyuki_main/runtime.py b/liteyuki/liteyuki_main/runtime.py index fc5cc070..a253a066 100644 --- a/liteyuki/liteyuki_main/runtime.py +++ b/liteyuki/liteyuki_main/runtime.py @@ -37,7 +37,6 @@ async def _(bot: T_Bot, event: T_MessageEvent): { "data": await get_stats_data(bot.self_id, ulang.lang_code) }, - debug=True, wait=1 ) image = await png_to_jpg(image) From 46715e17aad6eebdbcfc3f5bdc29adec6ff8a3c2 Mon Sep 17 00:00:00 2001 From: SnowyFox <156929726+MoeSnowyFox@users.noreply.github.com> Date: Thu, 18 Apr 2024 22:40:18 +0800 Subject: [PATCH 8/9] Update runtime.py --- liteyuki/liteyuki_main/runtime.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/liteyuki/liteyuki_main/runtime.py b/liteyuki/liteyuki_main/runtime.py index a253a066..e6cc34ef 100644 --- a/liteyuki/liteyuki_main/runtime.py +++ b/liteyuki/liteyuki_main/runtime.py @@ -113,7 +113,7 @@ async def get_stats_data(self_id: str = None, lang: str = None) -> dict: if self_id is None: self_id = list(nonebot.get_bots().keys())[0] if len(nonebot.get_bots()) > 0 else "liteyuki" if lang is None: - ulang = get_default_lang_code() + ulang = Language(get_default_lang_code()) else: ulang = Language(lang) From dc83d6b4692f02d801c89fc6b258016fcbc012c9 Mon Sep 17 00:00:00 2001 From: SnowyFox <156929726+MoeSnowyFox@users.noreply.github.com> Date: Thu, 18 Apr 2024 22:41:02 +0800 Subject: [PATCH 9/9] Update npm.py --- liteyuki/plugins/liteyuki_pacman/npm.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/liteyuki/plugins/liteyuki_pacman/npm.py b/liteyuki/plugins/liteyuki_pacman/npm.py index 0bcae73c..299d3ee0 100644 --- a/liteyuki/plugins/liteyuki_pacman/npm.py +++ b/liteyuki/plugins/liteyuki_pacman/npm.py @@ -345,7 +345,7 @@ async def _(result: Arparma, event: T_MessageEvent, bot: T_Bot, npm: Matcher): btn_disable = md.btn_cmd(ulang.get("npm.disable_session"), "npm disable ", False, False) btn_enable = md.btn_cmd(ulang.get("npm.enable_session"), "npm enable ", False, False) reply = ( - f"\n# **{ulang.get("npm.help")}**" + f"\n# **{ulang.get('npm.help')}**" f"\n{btn_update}" f"\n>*{md.escape('npm update')}*\n" f"\n{btn_install_}" @@ -375,7 +375,7 @@ async def _(result: Arparma, event: T_MessageEvent, bot: T_Bot, npm: Matcher): btn_disable = md.btn_cmd(ulang.get("npm.disable_session"), "npm disable ", False, False) btn_enable = md.btn_cmd(ulang.get("npm.enable_session"), "npm enable ", False, False) reply = ( - f"\n# **{ulang.get("npm.help")}**" + f"\n# **{ulang.get('npm.help')}**" f"\n{btn_disable}" f"\n>*{md.escape('npm disable ')}*\n" f"\n{btn_enable}"