全局工具类
在框架中我们提供了一个全局工具类,它被定义为:
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 的自定义图片渲染器
详情 →