NilHub-NilBridge使用手册 NilHub-NilBridge使用手册
首页
  • 装载

    • 安装Nillauncher
    • 安装NilBridge
  • 命令

    • 原生命令
    • 用户命令
  • 正则表达式

    • 执行主体
    • 执行模式
  • 模块管理器

    • mgm
  • 初始化
  • 主文件
  • 监听器
  • 日志
  • 参数对象
  • vanilla
  • 文件IO
  • 服务器对象
案例
问答
增值服务
💖支持
GitHub (opens new window)
首页
  • 装载

    • 安装Nillauncher
    • 安装NilBridge
  • 命令

    • 原生命令
    • 用户命令
  • 正则表达式

    • 执行主体
    • 执行模式
  • 模块管理器

    • mgm
  • 初始化
  • 主文件
  • 监听器
  • 日志
  • 参数对象
  • vanilla
  • 文件IO
  • 服务器对象
案例
问答
增值服务
💖支持
GitHub (opens new window)
  • 初始化模块
  • 主文件
    • Logger对象
    • 监听事件
    • 注册事件
    • 触发事件
    • 注册命令
  • 监听器
  • Logger
  • 参数对象
  • vanilla
  • 文件IO
  • 服务器对象
  • API
NilDev
2022-04-11
目录

主文件

主文件作为模块的索引而存在

NilBridge的模块加载机制完全遵守NodeJS的require机制

NodeJs模块机制 (opens new window)

NodeJs require机制 (opens new window)

提示

如果没有指定,模块默认主文件为文件夹下的index.js

接着我们创建index.js写入下列代码

class example extends NIL.ModuleBase{
 onStart(api){

 }
 onStop(){

 }
}

module.exports = new example;

现在你的模块已经可以被加载了,只不过它什么都干不了

我们一起来看这个文件

我们定义了example这个自定义类继承自基类NIL.ModuleBase

其中包含了两个重载函数,onStart和onStop,分别在加载和卸载时被触发

并且初始化API在加载时被传入,它可以帮助你注册命令,设置监听器等。

在下一节,我们会详细讲解如何使用它

对于一个初始化APIapi,有如下这些方法可以调用

# Logger对象

详见Logger对象

附带的logger对象会自动注册插件名称

调用就像下面这样。

api.logger.info('这是一条正常的日志');

api.logger.warn('这是一条警告日志');

api.logger.error(new Error('这是一个错误输出'));

# 监听事件

api.listen(event,callback)

  • 参数
    • event : String 事件名称
    • callback : Function 事件回调,目前所有事件均为单参数回调
  • 注意
    • 监听的事件回调会自动执行try-catch
    • 插件卸载时,监听器会一并注销
  • 返回:监听器是否注册成功
  • 返回值类型 : Boolean

# 注册事件

api.addEvent(name)

  • 参数
    • name : String 事件名称
  • 返回 : 是否注册成功
  • 返回值类型 : Boolean
  • 注意 : 由于模块加载的先后顺序,如果一个事件还未注册就被其他模块监听,会监听失败(待改进)

# 触发事件

注意:此操作接触到NilBridge底层API,非必要请勿使用

NIL.EventManager.on(event,param)

  • 参数
    • event : String 事件名称,必须是已经注册的
    • param : Object 向事件回调中传入的参数
  • 注意 : 当使用此方法后,NilBridge会寻找监听此事件的函数并调用它们

# 注册命令

api.regCMD(cmd,desc,callback)

  • 参数
    • cmd : String 命令字符串
    • desc : String 命令描述
    • callback : Promise 回调函数
  • 返回 : 是否注册成功
  • 返回值类型 : Boolean
上次更新: 2022/05/25, 11:50:34
初始化模块
监听器

← 初始化模块 监听器→

Theme by Vdoing | Copyright © 2019-2022 NilDev | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式