-
Notifications
You must be signed in to change notification settings - Fork 5
开发插件
TheresaQWQ edited this page Dec 5, 2020
·
3 revisions
所有插件都必须包含一个 package.json 文件,用来声明插件的入口文件,插件名等信息
插件可以从 '../../lib/api' 中引用到Bot相关接口
大致格式如下
{
"name": "插件名",
"version": "版本号",
"packagename": "包名",
"main": "入口文件"
}可以用来接收 load 和 unload 事件
具体写法如下
import { event } from '../../lib/api'
event.on('load', () => {
// onload
});
event.on('unload', () => {
// unload
})这个对象包含了机器人所需的所有api,具体请参考代码提示
API列表可以参考 OneBot
日志,使用方法如下
import { logger } from '../../lib/api'
logger.debug('text...');
logger.info('text...');
logger.warn('text...');
logger.error('text...');
logger.fatal('text...');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);
});机器人事件,可以参考 OneBot
配置项,config.ts 文件中填写的对应插件的配置信息
插件信息, 内容如下
| name | desc |
|---|---|
app.root |
插件根目录 |
app.data |
插件数据目录 |
app.appRoot |
程序根目录 |
app.restart |
是否重启过 |
app.packagename |
插件包名 |