Appearance
插件介绍
插件是拓展机器人功能的重要功能
插件可以在 创意工坊
搜索
配置
插件基本遵循 配置决策功能
的逻辑
点击插件的 操作
按钮, 弹出文件列表, 选择 config.yml
或 config.json
查看配置文件
介绍
插件的使用说明和介绍都在 创意工坊
的 查看
按钮中查看
操作按钮
保存
仅仅保存文件, 不会影响插件重启
相当于关闭再开启, 大多数插件会在启动时, 更改配置编译
插件的index.js
将重新编译, 一般作为开发时使用
提示
一般来说, 更改配置后, 点击 重启
即可
点击 dev
即可显示 保存
编译
修改代码, 需要编译
开关
点击 开关
按钮会执行 onChange
函数
提示
即使为关闭状态, 插件内 定时器
等依然在保持工作
可以在定时器内部根据插件 开关
状态再执行业务代码
插件优先级
每个消息会按照顺序交给每个插件去处理, 有些插件需要高优先级, 否则可能会导致功能失效
比如: 如果 黑名单
在 自动同意群申请
插件后面处理事件, 那么先同意了群申请, 黑名单
插件无法拒绝已经加入的了
提示
越在后面优先级越高(网页端是倒叙显示)

插件开发
插件的目录为 /plugins
, 入口文件是 index.js
在 index.js
中暴露回调函数
回调函数
- onGroupMessage(event) 收到群消息
- onUserMessage(event) 收到私聊消息
- onGroupMemberAliasUpdate(event) 群成员名片修改
- onGroupMemberIncrease(event) 群成员增加
- onGroupMemberDecrease(event) 群成员减少
- onGroupRequest(event) 进群申请
- onFriendRequest(event) 好友申请
- onChange(enable) 开关状态变更, 一般开启时做配置加载
- onCall(function, ...args) 为提供插件间互相调用的函数
- onWebCall(request, response) web接口调用
- console 属性, 是否提供控制台
函数返回值
责任链
模式, 返回 true
, 事件继续向后传递, 否则 结束
配置决策功能
为了实现 配置决策功能
, 建议在 onChange
回调函数中实现加载配置功能
插件间互相调用
使用 global-plugin-call-bus
就可以调用其他的插件的 onCall
函数
调用方
js
const callBus = require('global-plugin-call-bus')
callBus.call('积分商店', '充值', '123456', 200)
// callBus.call(插件名, 函数名[, 参数1, 参数2, 参数3...])
被调用方 (需要手动路由函数)
js
exports.onCall(functionName, param1, param2) {
if (functionName == '充值') {
// 充值
recharge(param1, param2)
} else if (functionName == '查询') {
// 查询
// return 123
}
}
建议目录结构
config
.
├─ info 信息 (必须存在)
│ ├─ description.txt 简介
│ ├─ detail.md 详情 (创意工坊会将 `md` 渲染成 `html`)
│ ├─ version.txt 版本
│ └─ logo.png logo
├─ index.js 插件入口脚本 (必须存在)
├─ config.json 配置文件 (建议持有)
└─ data.db 数据库 (选配)