mirror of
				https://github.com/LiteyukiStudio/LiteyukiBot.git
				synced 2025-10-31 11:26:23 +00:00 
			
		
		
		
	feat: 新的资源包加载逻辑
feat: 主题商店支持
This commit is contained in:
		| @@ -1,6 +1,5 @@ | ||||
| from nonebot.plugin import PluginMetadata | ||||
|  | ||||
| from liteyuki.utils.language import get_default_lang | ||||
| from .core import * | ||||
| from .loader import * | ||||
| from .runtime import * | ||||
|   | ||||
| @@ -14,6 +14,7 @@ from liteyuki.utils.language import get_user_lang | ||||
| from liteyuki.utils.ly_typing import T_Bot, T_MessageEvent | ||||
| from liteyuki.utils.message import Markdown as md | ||||
| from liteyuki.utils.reloader import Reloader | ||||
| from liteyuki.utils.resource import get_loaded_resource_packs, load_resources | ||||
|  | ||||
| require("nonebot_plugin_alconna"), require("nonebot_plugin_htmlrender") | ||||
| from nonebot_plugin_alconna import on_alconna, Alconna, Args, Subcommand, Arparma | ||||
| @@ -45,6 +46,14 @@ reload_liteyuki = on_alconna( | ||||
|     permission=SUPERUSER | ||||
| ) | ||||
|  | ||||
| reload_resources = on_alconna( | ||||
|     aliases={"重载资源"}, | ||||
|     command=Alconna( | ||||
|         "reload-resources" | ||||
|     ), | ||||
|     permission=SUPERUSER | ||||
| ) | ||||
|  | ||||
| cmd_config = on_alconna( | ||||
|     aliases={"配置"}, | ||||
|     command=Alconna( | ||||
| @@ -153,6 +162,17 @@ async def _(result: Arparma, event: T_MessageEvent, bot: T_Bot): | ||||
|         await md.send_md(reply, bot, event=event) | ||||
|  | ||||
|  | ||||
| @reload_resources.handle() | ||||
| async def _(event: T_MessageEvent): | ||||
|     ulang = get_user_lang(str(event.user_id)) | ||||
|     load_resources() | ||||
|     await reload_resources.finish( | ||||
|         ulang.get("liteyuki.reload_resources_success", | ||||
|                   NUM=len(get_loaded_resource_packs()) | ||||
|                   ) | ||||
|     ) | ||||
|  | ||||
|  | ||||
| @switch_image_mode.handle() | ||||
| async def _(bot: T_Bot, event: T_MessageEvent): | ||||
|     global markdown_image | ||||
|   | ||||
| @@ -1,20 +1,15 @@ | ||||
| import os.path | ||||
| import shutil | ||||
|  | ||||
| import nonebot.plugin | ||||
|  | ||||
| from liteyuki.utils import init_log | ||||
| from liteyuki.utils.data_manager import InstalledPlugin, plugin_db | ||||
| from liteyuki.utils.resource import load_resource_from_dir | ||||
| from liteyuki.utils.resource import load_resource_from_dir, load_resources | ||||
| from liteyuki.utils.tools import check_for_package | ||||
|  | ||||
| # 加载默认资源和语言 | ||||
| RESOURCE_PATH = "liteyuki/resources" | ||||
| load_resource_from_dir(RESOURCE_PATH) | ||||
| load_resources() | ||||
| init_log() | ||||
| # 加载其他资源包 | ||||
| if os.path.exists("resources"): | ||||
|     for resource in os.listdir("resources"): | ||||
|         load_resource_from_dir(os.path.join("resources", resource)) | ||||
|  | ||||
| nonebot.plugin.load_plugins("liteyuki/plugins") | ||||
| nonebot.plugin.load_plugins("plugins") | ||||
|   | ||||
| @@ -144,10 +144,13 @@ async def get_stats_data(self_id: str = None, lang: str = None) -> dict: | ||||
|         if disk_usage.total > 0: | ||||
|             disk_data.append( | ||||
|                 { | ||||
|                         "name"   : disk.device, | ||||
|                         "total"  : disk_total_show, | ||||
|                         "free"   : disk_free_show, | ||||
|                         "percent": disk_usage.percent, | ||||
|                         "name"      : disk.device, | ||||
|                         "total"     : disk_total_show, | ||||
|                         "free"      : disk_free_show, | ||||
|                         "percent"   : disk_usage.percent, | ||||
|                         "usedValue" : disk_usage.used, | ||||
|                         "freeValue" : disk_usage.free, | ||||
|                         "totalValue": disk_usage.total, | ||||
|                 } | ||||
|             ) | ||||
|  | ||||
| @@ -164,14 +167,17 @@ async def get_stats_data(self_id: str = None, lang: str = None) -> dict: | ||||
|  | ||||
|     cpu_info = get_cpu_info() | ||||
|     templ = { | ||||
|             "plugin"     : len(nonebot.get_loaded_plugins()), | ||||
|             "version"    : __VERSION__, | ||||
|             "system"     : platform.platform(), | ||||
|             "cpu"        : [ | ||||
|                     { | ||||
|                             "name" : "USED", | ||||
|                             "value": psutil.cpu_percent(interval=1) | ||||
|                             "value": psutil.cpu_percent() | ||||
|                     }, | ||||
|                     { | ||||
|                             "name" : "FREE", | ||||
|                             "value": 100 - psutil.cpu_percent(interval=1) | ||||
|                             "value": 100 - psutil.cpu_percent() | ||||
|                     } | ||||
|             ], | ||||
|             "mem"        : [ | ||||
| @@ -221,6 +227,7 @@ async def get_stats_data(self_id: str = None, lang: str = None) -> dict: | ||||
|             "cpu_trans"  : ulang.get("main.monitor.cpu"), | ||||
|             "mem_trans"  : ulang.get("main.monitor.memory"), | ||||
|             "swap_trans" : ulang.get("main.monitor.swap"), | ||||
|             "disk_trans" : ulang.get("main.monitor.disk"), | ||||
|             "used_trans" : ulang.get("main.monitor.used"), | ||||
|             "free_trans" : ulang.get("main.monitor.free"), | ||||
|             "total_trans": ulang.get("main.monitor.total"), | ||||
|   | ||||
		Reference in New Issue
	
	Block a user