Skip to content

开发插件

TheresaQWQ edited this page Dec 5, 2020 · 3 revisions

目录


写在开头

所有插件都必须包含一个 package.json 文件,用来声明插件的入口文件,插件名等信息
插件可以从 '../../lib/api' 中引用到Bot相关接口

package.json

大致格式如下

{
  "name": "插件名",
  "version": "版本号",
  "packagename": "包名",
  "main": "入口文件"
}

API

event

可以用来接收 loadunload 事件
具体写法如下

import { event } from '../../lib/api'

event.on('load', () => {
  // onload
});

event.on('unload', () => {
  // unload
})

api

这个对象包含了机器人所需的所有api,具体请参考代码提示
API列表可以参考 OneBot

logger

日志,使用方法如下

import { logger } from '../../lib/api'

logger.debug('text...');
logger.info('text...');
logger.warn('text...');
logger.error('text...');
logger.fatal('text...');

commander

注册命令

import { commander } from '../../lib/api'

commander.reg({
  // 正则表达式,匹配命令
   cmd: /^.echo (.*)/,
  // 帮助文本
   helper: '.echo <text>   echo',
  // 私聊消息
   private: true,
  // 群聊消息
   group: true,
  // 需要全局管理员
   globalAdmin_require: false,
  // 需要群组管理员
   groupAdmin_require: false,
  // 需要主人
   owner_require: false
}, (m: Array<string>, e: any, reply: Function) => {
  // 触发后执行的函数
   reply(m[1], false);
});

bot

机器人事件,可以参考 OneBot

config

配置项,config.ts 文件中填写的对应插件的配置信息

app

插件信息, 内容如下

name desc
app.root 插件根目录
app.data 插件数据目录
app.appRoot 程序根目录
app.restart 是否重启过
app.packagename 插件包名

Clone this wiki locally