This commit is contained in:
Windpicker-owo
2025-09-01 11:59:42 +08:00

View File

@@ -197,6 +197,18 @@ class PluginManager:
if plugin_instance.register_plugin(): if plugin_instance.register_plugin():
self.loaded_plugins[plugin_name] = plugin_instance self.loaded_plugins[plugin_name] = plugin_instance
self._show_plugin_components(plugin_name) self._show_plugin_components(plugin_name)
# 检查并调用 on_plugin_loaded 钩子(如果存在)
if hasattr(plugin_instance, "on_plugin_loaded") and callable(
getattr(plugin_instance, "on_plugin_loaded")
):
logger.debug(f"为插件 '{plugin_name}' 调用 on_plugin_loaded 钩子")
try:
# 使用 asyncio.create_task 确保它不会阻塞加载流程
asyncio.create_task(plugin_instance.on_plugin_loaded())
except Exception as e:
logger.error(f"调用插件 '{plugin_name}' 的 on_plugin_loaded 钩子时出错: {e}")
return True, 1 return True, 1
else: else:
self.failed_plugins[plugin_name] = "插件注册失败" self.failed_plugins[plugin_name] = "插件注册失败"