Skip to content

全局工具类

在框架中我们提供了一个全局工具类,它被定义为:

ts
export interface BOT {
    readonly redis: Database;
    readonly config: BotConfig;
    readonly client: core.Client;
    readonly logger: Logger;
    readonly interval: Interval;
    readonly file: FileManagement;
    readonly auth: Authorization;
    readonly message: msg.default;
    readonly mail: MailManagement;
    readonly command: Command;
    readonly renderer: BasicRenderer;
}

这个接口实例整体会被传入插件生命周期钩子函数指令入口函数,你可以通过 解构对象 的方式来获取其中的某个工具,以便进行声明插件的准备工作,如创建配置文件等。

使用工具类

下面以 logger 工具类为例:

ts
export default {
    cfgList: [ {
        // ...(其他指令配置)
        main( { logger } ) {
            logger.info( "我在指令入口函数中打印了一行日志" );
        }
    } ],
    // ...(其他插件配置)
    mounted( { logger } ) {
        logger.info( "我在插件生命周期钩子函数中打印了一行日志" );
    }
}

在代码的其他地方,你也可以通过下面的代码导入所有工具类:

ts
import bot from "ROOT";

请务必注意代码的执行顺序,避免在工具类创建完毕之前使用 bot 中提供的工具类。如果你无法确定代码执行的时机,那么将其放在 mounted 钩子函数中执行是最好的选择。

工具类列表

  • redis

    简单封装了一些操作 bot 数据库的方法

    详情 →
  • config

    用于获取 bot 配置文件内容

    详情 →
  • client

    用于获取 bot 配置文件内容,或是生成插件的配置文件

    详情 →
  • logger

    bot 所使用的日志打印工具,本质为经过预设处理的 log4js 对象

    详情 ↗
  • interval

    负责操作 bot 指令响应的时间间隔

    详情 →
  • file

    简单封装了一些对本文文件进行操作的工具方法

    详情 →
  • auth

    操作用户权限的工具类

    详情 →
  • message

    负责 bot 主动发送消息的工具类

    详情 →
  • mail

    负责 bot 主动发送邮件的工具类

    详情 →
  • command

    用于操作 bot 指令系统,或获取指令相关信息

    详情 →
  • renderer

    控制 bot 的自定义图片渲染器

    详情 →

Released under the MIT License.