Skip to content

插件依赖

MuRainBot2 插件化系统的设计使得插件之间可以功能独立、各司其职,我们可以更好地维护和扩展插件。 但是,有时候我们可能需要在不同插件之间调用功能。 MuRainBot2 生态中就有一类插件,它们专为其他插件提供功能支持,如:针对某些实现端的拓展插件、数据存储插件等。 这时候我们就需要在插件之间进行插件依赖。

声明插件依赖

对于这种情况,MuRainBot2提供了一种方法来在插件内声明插件依赖,以避免插件之间重复加载之类的问题。 此方法就是 core.PluginManager.requirement_plugin

假设我们有一个插件 plugin_a,它需要依赖另一个插件 plugin_b,那么我们可以在 plugin_a 中声明依赖关系:

python
from Lib.core import PluginManager
PluginManager.requirement_plugin("plugin_b")
import plugins.plugin_b

不过,需要注意,对于插件的名称 ,如果依赖的是库形式的插件则是库文件夹的名称,如果依赖的是文件形式则是插件文件的名称(文件名称包含后缀)。

声明依赖后,就可以直接import 依赖的插件了。