跳到主要内容

插件拒绝被加载

有时候你的插件可能需要在特定条件下拒绝被加载,比如检测到不兼容的环境、缺少必要的依赖或者配置错误等情况。EasyBot 允许插件在启用时抛出异常来拒绝被加载。

基本原理

当插件在 enable 事件中抛出异常时,EasyBot 会捕获这个异常并阻止插件的加载,同时在控制台显示错误信息。

创建拒绝加载的插件

创建插件声明文件

在插件目录下创建 manifest.json 文件:

{
"name": "条件加载插件",
"version": "1.0.0",
"plugin_id": "conditional_loading_plugin",
"author": "MiuxuE",
"description": "演示如何在特定条件下拒绝插件加载",
"tags": ["示例", "条件加载"],
"entry": "main.js",
"contents": "# 条件加载插件\n\n这个插件会检查加载条件,如果不满足则拒绝加载。"
}

创建主入口文件

创建 main.js 文件,演示不同的拒绝加载场景:

/// <reference path="easybot-sdk/easybot.d.ts" />

logger.info("条件加载插件被加载");

bus.on('enable', () => {
logger.info("正在检查插件加载条件...");
if (/* Dooooooooo */) {
throw new Error("拒绝启用");
}
logger.info("所有条件检查通过,插件启用成功");
});

bus.on('disable', () => {
logger.info("条件加载插件被禁用");
});
提示

合理使用拒绝加载机制可以避免插件在不合适的环境下运行,提高系统的稳定性和用户体验。

注意
  • 只在 enable 事件中抛出异常才会阻止插件加载
  • 错误信息会显示在控制台中,请提供有用的信息
  • 避免在其他事件中抛出未捕获的异常
  • 考虑提供配置修复的方法或命令