Version: 2.0.0-beta.4

nonebot.plugin.manager

本模块实现插件加载流程。

参考: import hooks, PEP302

class PluginManager(plugins=None, search_path=None)

  • 说明

    插件管理器。

  • 参数

    • plugins (Iterable[str] | None): 独立插件模块名集合。

    • search_path (Iterable[str] | None): 插件搜索路径(文件夹)。

property available_plugins

  • 类型: set[str]

  • 说明: 返回当前插件管理器中可用的插件名称。

property searched_plugins

  • 类型: set[str]

  • 说明: 返回已搜索到的插件名称。

property third_party_plugins

  • 类型: set[str]

  • 说明: 返回所有独立插件名称。

method load_all_plugins(self)

  • 说明

    加载所有可用插件。

  • 返回

method load_plugin(self, name)

  • 说明

    加载指定插件。

    对于独立插件,可以使用完整插件模块名或者插件名称。

  • 参数

    • name (str): 插件名称。
  • 返回

method prepare_plugins(self)

  • 说明

    搜索插件并缓存插件名称。

  • 返回

    • set[str]

class PluginFinder()

method find_spec(self, fullname, path, target=None)

  • 参数

    • fullname (str)

    • path (Sequence[bytes | str] | None)

    • target (module | None)

  • 返回

    • Unknown

class PluginLoader(manager, fullname, path)

method create_module(self, spec)

  • 参数

    • spec
  • 返回

    • module | None

method exec_module(self, module)

  • 参数

    • module (module)
  • 返回

    • None