Skip to content

插件信息说明

Hstb edited this page Mar 22, 2020 · 9 revisions

不出意料的话,你可以在 Demo 中找到这样的一段文本
(比如 易语言中的长文本常量, C++中的 info.json )

{
  "ret": 1,
  "name": "契约样例应用(C++)", 
  ......
  "event": [
    ......
  ],
  "menu": [
    ......
  ],
  "auth": [
    ......
  ]
}

这是json格式的文本,如果你看到的是缩成一团的文本,可以使用诸如json.cn这样的网站将它格式化。

如果你是一个刚入门不久的开发者,可能会看不懂这样的数据格式,但并不要紧,

你只需要知道,这样的一段文本是用 "名称": 数据值 来表示一个数据,你只要会修改你想修改的内容就已经足够。


现在,让我们了解一下这里面的具体信息,我会用表格来呈现。

  • 如果你想在文本类型的数据里使用",请(转义)替换成\",想要换行请替换成\n
    注意,不是只替换一次,而是有多少就替换多少。
  • 如果你要编辑数组类型的数据(如event,menu,auth),请在每个成员之间要插入一个,,注意不要在最后一个成员后加。
  • 不要 在json数据里 添加注释 ,因为这样会发生解析异常,除非你使用的是C++版Demo。
  • 如果你够细心,可以发现大部分内容都来自json的注释。
名称 数据类型 说明
ret 整数 返回码,固定为1
apiver 整数 SDK版本,(200322)最新版本为2018
你可能会见到9之类的值,但那是几年前的旧版本,而且不能在多Q版中使用,因此不建议使用
appid 文本 应用的唯一ID(类似QQ号),参见#AppID命名规范
需要和#应用名一致,否则应用无法被加载
name 文本 应用名称
version 文本 应用版本号
version_id 整数 应用的发布顺序,每次发布时至少向上+1,理解成类似Windows的内部版本号就行
author 文本 作者
description 文本 应用描述,如果你想在这里换行的话,想想表格前的提示
event 数组 详细说明参见#事件列表
menu 数组 详细说明参见#菜单列表
auth 数组 详细说明参见#权限列表

事件列表

首先看单个数据,每个数据对应一个事件的处理信息。

{
  "id": 1001,
  "type": 1001,
  "name": "QY启动事件",
  "function": "QY_Event_Startup",
  "priority": 30000
}

以下为其内部数据说明

名称 数据类型 说明
id 整数 事件ID,可自定义,但每个事件的ID必须不一样
type 整数 事件类型,不能自定义,具体值参见#事件类型
name 文本 事件名称,可自定义
function 文本 用于处理事件的函数名,该函数必须对外开放。
priority 整数 事件优先级,相当于权重,该值决定不同应用之间的处理顺序,值越大,应用会越靠后处理事件数据。
最小值为10000,当值为10000时,本应用会优先收到事件数据,但无法拦截事件,
在本应用处理结束后,其余应用也会按优先级顺序接收事件数据。

注:

  • 一个事件可以有多个信息,但其id必须不一致,
  • 并不是所有的事件都需要其对应的处理信息,而是根据应用自身用途决定。
    但以下事件是必须添加的
    1. QY启动事件(1001)
    2. QY关闭事件(1002)
    3. 应用已被启用(1003)
    4. 应用将被停用(1004)

事件类型

事件名称 对应的id 事件说明
QY启动事件 1001 主程序启动时调用
QY关闭事件 1002 主程序将要退出前调用
应用已被启用 1003 应用被用户启用后调用
应用将被停用 1004 应用被用户停用时调用
私聊消息处理 166 包括非好友发送的临时消息
群消息处理 82 -
讨论组消息处理 83 -
推送消息事件 101 类似群禁言之类的系统消息
群管理变动事件处理 102 含设置 / 取消管理员事件
群成员减少事件处理 103 含群解散 / 群员离开 / 群员被踢事件
群成员增加事件处理 104 含管理员已同意 / 管理员邀请事件
添加他人为好友结果事件 201 含对方同意添加 / 拒绝添加
被添加好友请求事件 301 -
群添加请求处理 302 含他人主动 / 他人邀请 / 机器人被邀请 加群事件

菜单列表

首先看单个数据,每个数据对应一个菜单的处理信息。

{
  "name": "设置A",
  "function": "_menuA"
}

以下为其内部数据说明

名称 数据类型 说明
name 文本 菜单名称,显示在应用列表的名字
function 文本 菜单对应的处理函数,该函数必须对外公开

注:

  • 每个菜单的处理函数应不同。

权限列表

该数据内部并不同于#事件列表#菜单列表的对象成员,而是整数值,每个整数值即对应的权限ID。

[
  101,
  102
]

权限说明

权限用途 权限ID 说明
发送好友消息 101 对应的API为sendFriendMsg
发送群消息 102 对应的API为sendGroupMsg
发送群临时消息 103 对应的API为sendGroupTmpMsg
发送讨论组消息 104 对应的API为sendDiscussMsg
发送讨论组临时消息 105 对应的API为sendDiscussTmpMsg
取Cookies/CsrfToken 110 对应的API为getCookies / getCsrfToken
发送名片点赞 111 对应的API为sendLikeFavorite
置退出群 112 对应的API为setExitGroupChat
置退出讨论组 113 对应的API为setExitDiscussChat
置移除群员 114 对应的API为setGroupMembersKick
置移除讨论组成员 115 对应的API为setDiscussMembersKick

  • 部分API目前没有设置使用权限,因此列表中并未注明。
  • 权限应设置适当, 用不到的权限勿加,避免给用户带来困扰。
Clone this wiki locally