-
1. 后端处理服务器API
- 1.1 数据库结构
- 1.2 后端处理服务器HTTP 接口
- 1.3. 数据包
-
2. 后端处理服务器应用集成API
- 2.1 设置应用集成
- 2.2 API 格式和签名机制
- 2.3 API 定义
- 3. 客户端扩展机制
-
4. 会话机器人开发指南
- 4.1 机器人应用开发
自定义命令
- 2020-08-11 10:59:21
- 孙浩
- 5696
- 最后编辑:孙浩 于 2020-08-11 11:11:20
- 分享链接
通过主入口模块的commands字段可以为应用添加自定义上下文菜单。commands字段为一个数组,包含多个命令描述对象。
命令描述对象
一个命令描述对象包含如下属性:
- name:命令名称,只能包含大小写字母、数组和下划线,尽量确保名称具备唯一性;
- func:类型为function(context, ...params),命令执行时调用的回调函数;
- context:类型为Object,命令执行时初始化的上下文对象。
使用 URL 调用命令
命令可以通过用户点击界面上的链接进行触发,例如在界面上发送一个如下的链接地址:
!extension.myExtension.testCommand?msg=hello
则会执行扩展名称为myExtension中定义的testCommand命令,执行命令回调函数时会将{msg: 'hello'}作为参数传递给上下文对象中的options字段。
自定义命令的例子
module.exports = { // 在扩展内定义扩展命令 commands: [ { // 定义名称为 testCommand 的命令 name: 'testCommand', func: (context) => { console.log('执行了 textCommand 命令,msg 参数为', context.options.msg); } }, // 如果要定义多个扩展命令,则可以在数组中继续添加更多的扩展命令对象 ] }
该扩展例子需要在package.json中声明如下权限:
{ "usePermissions": [ "commander.registerCommand" ] }
发表评论
联系我们
公众号
微信公众号