mirai/mirai-console/docs/Extensions.md
2022-05-07 07:36:12 +01:00

1.4 KiB
Raw Blame History

Mirai Console Backend - Extensions

Mirai Console 拥有灵活的 Extensions API支持扩展 Console 的一些服务。

Extensions 属于插件开发的进阶内容。

扩展

组件容器

容纳插件注册的 扩展

注册扩展

插件仅能在 onLoad 阶段注册扩展。

示例:

object MyPlugin : KotlinPlugin( /* ... */ ) {
    fun PluginComponentStorage.onLoad() {
        contributePermissionService { /* ... */ }
        contributePluginLoader { /* ... */ }
        contribute(ExtensionPoint) { /* ... */ }
    }
}

// java
public class MyPlugin extends JavaPlugin {
    public MyPlugin() {
        // ...
    }

    @Override
    public void onLoad(PluginComponentStorage pcs) {
        pcs.contributePermissionService(() -> { /* ... */ });
        pcs.contributePluginLoader(() -> { /* ... */ });
        pcs.contribute(ExtensionPoint, () -> { /* ... */ });
    }
}

可用扩展

查看 extensions。每个文件对应一个扩展。