发送XML消息的格式
QQ可以使用xml的方式发送消息,以下为了方便描述统称为卡片。
通过机器人的API进行发送xml即可,但是如果选择发送xml,那么其他如[image=xxx]、[@xxx]这些命令就不可使用了。整个消息只有XML。
xml主要由msg,item,source这3部分组成
<?xml version='1.0' encoding='utf-8' standalone='yes'?>
<!-- msg 卡片的基本属性 只可以有1个 -->
<msg flag='1' serviceID='1' brief='foobar' templateID='1' action='plugin' >
<!-- item 卡片的内容 可重复使用 -->
<item layout="0">
<title>layout="0"</title>
<summary>title,summary,picture各占一行均可重复使用,按照Element顺序显示</summary>
<picture cover="http://placekitten.com/250/100"/>
</item>
<!-- source 卡片的来源,即卡片的角标 只可以有1个 -->
<source name="koukuko" icon="https://avatars2.githubusercontent.com/u/3916013?v=3&s=40" url="" action="plugin" appid="-1"/>
</msg>
<msg>| attribute | value | description |
|---|---|---|
| flag | 0,1,2,3 | 0默认,可以转发和收藏1不能转发2不能收藏3不能收藏也不能转发 |
| serviceID | 1 | - |
| brief | {String} | 卡片的简介,会显示于消息提示里 |
| templateID | 1,12345 | - |
| action | web、plugin | - |
| url | {String} | 点击后打开的url |
<item>| attribute | value | description |
|---|---|---|
| layout | 0,1,2,3,4,5,6 | 排版方式 |
| bg | 0,1,2 | <item>的背景颜色0默认透明1蓝色2红色手机端支持如#ff0000的自定义颜色 |
<?xml version="1.0" encoding="utf-8"?>
<msg templateID="12345" action="web" brief="TEST" serviceID="1" url="http://koukuko.com">
<item layout="1">
<title>layout="1"</title>
<summary>title,summary,picture各占一行均可重复使用,按照Element顺序显示</summary>
<picture cover="http://placekitten.com/250/100"/>
</item>
</msg>

会留空,用意不明
<?xml version="1.0" encoding="utf-8"?>
<msg templateID="12345" action="web" brief="TEST" serviceID="1" url="http://koukuko.com">
<item layout="2">
<title>layout="2"</title>
<summary>左侧有1:1封面右侧正文</summary>
<picture cover="http://placekitten.com/100/100"/>
</item>
</msg>

<?xml version="1.0" encoding="utf-8"?>
<msg templateID="12345" action="web" brief="TEST" serviceID="1" url="http://koukuko.com">
<item layout="3">
<picture cover="http://placekitten.com/100/100"/>
<picture cover="http://placekitten.com/200/200"/>
<picture cover="http://placekitten.com/300/300"/>
<title>layout="3"</title>
<summary>固定显示2-3个封面,不显示title,picture必须要在最前面</summary>
</item>
</msg>

<?xml version="1.0" encoding="utf-8"?>
<msg templateID="12345" action="web" brief="TEST" serviceID="1" url="http://koukuko.com">
<item layout="4">
<title>layout="4" 左侧有1:1小封面右侧正文 不显示summary</title>
<summary>左侧有1:1小封面右侧正文</summary>
<picture cover="http://placekitten.com/100/100"/>
</item>
</msg>

<?xml version="1.0" encoding="utf-8"?>
<msg templateID="12345" action="web" brief="TEST" serviceID="1" url="http://koukuko.com">
<item layout="5">
<title>layout="5" 标题在图片之上 不显示summary</title>
<summary>标题在图片之上</summary>
<picture cover="http://placekitten.com/400/200"/>
</item>
</msg>

和1 类似
在<item>中可选的element
<title>标题
无
<picture>封面图片
| attribute | value | description |
|---|---|---|
| cover | ${String} | 图片URL |
正文文本
| attribute | value | description |
|---|---|---|
| size | ${Int} | 文字大小(仅手机端支持) |
| color | ${Int16_hex} | 文字颜色 如:#000000 |
<button>按钮,按钮只有手机端可见,手机端下一排可现实两个按钮,必须使用layout="3"的排版才可以正常使用,但是``layout="3"```的排版在PC上无论如何都会显示出3个封面图,因此不推荐使用。
| attribute | value | description |
|---|---|---|
| action | app、plugin | appAPPplugin插件 |
| p_actionData | {String} | - |
| a_actionData | {String} | 安卓下的schema |
| i_actionData | {String} | iOs下的schema |
<br/>换行
<hr/>分割线
| attribute | value | description |
|---|---|---|
| hidden | {Boolean} | 显示或隐藏分割线 |
<source>| attribute | value | description |
|---|---|---|
| url | {String} | 点击角标后打开的url |
| icon | {String} | 角标图片的地址 |
| name | {String} | 角标的名称 |
| action | app、plugin | app点击角标打开APPplugin插件 |
| appid | {Int} | http://open.mobile.qq.com/ 下的appid |
| p_actionData | {String} | - |
| a_actionData | {String} | 安卓下的schema |
| i_actionData | {String} | iOs下的schema |