Skip to main content
Version: Next

nonebot.plugin.load

本模块定义插件加载接口。

def load_plugin(module_path)

  • 说明: 加载单个插件,可以是本地插件或是通过 pip 安装的插件。

  • 参数

    • module_path (str | Path): 插件名称 path.to.your.plugin 或插件路径 pathlib.Path(path/to/your/plugin)
  • 返回

def load_plugins(*plugin_dir)

  • 说明: 导入文件夹下多个插件,以 _ 开头的插件不会被导入!

  • 参数

    • *plugin_dir (str): 文件夹路径
  • 返回

def load_all_plugins(module_path, plugin_dir)

  • 说明: 导入指定列表中的插件以及指定目录下多个插件,以 _ 开头的插件不会被导入!

  • 参数

    • module_path (Iterable[str]): 指定插件集合

    • plugin_dir (Iterable[str]): 指定文件夹路径集合

  • 返回

def load_from_json(file_path, encoding="utf-8")

  • 说明: 导入指定 json 文件中的 plugins 以及 plugin_dirs 下多个插件。 以 _ 开头的插件不会被导入!

  • 参数

    • file_path (str): 指定 json 文件路径

    • encoding (str): 指定 json 文件编码

  • 返回

  • 用法

    plugins.json
    {
    "plugins": ["some_plugin"],
    "plugin_dirs": ["some_dir"]
    }
    nonebot.load_from_json("plugins.json")

def load_from_toml(file_path, encoding="utf-8")

  • 说明: 导入指定 toml 文件 [tool.nonebot] 中的 plugins 以及 plugin_dirs 下多个插件。 以 _ 开头的插件不会被导入!

  • 参数

    • file_path (str): 指定 toml 文件路径

    • encoding (str): 指定 toml 文件编码

  • 返回

  • 用法

    pyproject.toml
    [tool.nonebot]
    plugins = ["some_plugin"]
    plugin_dirs = ["some_dir"]
    nonebot.load_from_toml("pyproject.toml")

def load_builtin_plugin(name)

  • 说明: 导入 NoneBot 内置插件。

  • 参数

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

def load_builtin_plugins(*plugins)

  • 说明: 导入多个 NoneBot 内置插件。

  • 参数

    • *plugins (str): 插件名称列表
  • 返回

def require(name)

  • 说明: 声明依赖插件。

  • 参数

    • name (str): 插件模块名或插件标识符,仅在已声明插件的情况下可使用标识符。
  • 返回

    • ModuleType
  • 异常

    • RuntimeError: 插件无法加载

def inherit_supported_adapters(*names)

  • 说明

    获取已加载插件的适配器支持状态集合。

    如果传入了多个插件名称,返回值会自动取交集。

  • 参数

    • *names (str): 插件名称列表。
  • 返回

    • set[str] | None
  • 异常

    • RuntimeError: 插件未加载

    • ValueError: 插件缺少元数据