发送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 |