app/liteyuki/liteyuki_main/loader.py

25 lines
880 B
Python
Raw Normal View History

import os.path
import shutil
2024-03-24 09:43:34 +08:00
import nonebot.plugin
2024-03-24 21:21:57 +08:00
from liteyuki.utils import init_log
2024-03-24 09:43:34 +08:00
from liteyuki.utils.data_manager import InstalledPlugin, plugin_db
from liteyuki.utils.resource import load_resource_from_dir, load_resources
2024-03-24 09:43:34 +08:00
from liteyuki.utils.tools import check_for_package
load_resources()
init_log()
2024-03-24 09:43:34 +08:00
nonebot.plugin.load_plugins("liteyuki/plugins")
nonebot.plugin.load_plugins("plugins")
# 从数据库读取已安装的插件
2024-03-26 21:33:40 +08:00
installed_plugins: list[InstalledPlugin] = plugin_db.all(InstalledPlugin())
2024-03-24 09:43:34 +08:00
if installed_plugins:
2024-03-26 21:33:40 +08:00
for installed_plugin in installed_plugins:
2024-03-26 22:33:17 +08:00
if not check_for_package(installed_plugin.module_name):
2024-03-24 09:43:34 +08:00
nonebot.logger.error(f"{installed_plugin.module_name} not installed, but in loading database. please run `npm fixup` in chat to reinstall it.")
else:
2024-03-26 17:14:41 +08:00
nonebot.load_plugin(installed_plugin.module_name)