修复 CommandManager 中 unload_plugin 方法移除插件元信息时使用 startswith 导致可能误删其他插件的问题,改为精确匹配 同时调整相关测试用例验证精确匹配行为
40 lines
958 B
Python
40 lines
958 B
Python
"""
|
|
管理器包
|
|
|
|
这个包集中了机器人核心的单例管理器。
|
|
通过从这里导入,可以确保在整个应用中访问到的都是同一个实例。
|
|
"""
|
|
from ..config_loader import global_config
|
|
from .admin_manager import AdminManager
|
|
from .command_manager import matcher as command_manager
|
|
from .permission_manager import PermissionManager
|
|
from .plugin_manager import PluginManager
|
|
from .redis_manager import RedisManager
|
|
|
|
# --- 实例化所有单例管理器 ---
|
|
|
|
# 管理员管理器
|
|
admin_manager = AdminManager()
|
|
|
|
# 权限管理器
|
|
permission_manager = PermissionManager()
|
|
|
|
# 命令与事件管理器 (别名 matcher)
|
|
matcher = command_manager
|
|
|
|
# 插件管理器
|
|
plugin_manager = PluginManager(command_manager)
|
|
plugin_manager.load_all_plugins()
|
|
|
|
# Redis 管理器
|
|
redis_manager = RedisManager()
|
|
|
|
__all__ = [
|
|
"admin_manager",
|
|
"permission_manager",
|
|
"command_manager",
|
|
"matcher",
|
|
"plugin_manager",
|
|
"redis_manager",
|
|
]
|