-
Notifications
You must be signed in to change notification settings - Fork 3
插件信息说明
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
必须不一致, - 并不是所有的事件都需要其对应的处理信息,而是根据应用自身用途决定。
但以下事件是必须添加的
- QY启动事件(
1001
) - QY关闭事件(
1002
) - 应用已被启用(
1003
) - 应用将被停用(
1004
)
- QY启动事件(
事件名称 | 对应的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目前没有设置使用权限,因此列表中并未注明。
- 权限应设置适当, 用不到的权限勿加,避免给用户带来困扰。