发送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 | app APPplugin 插件 |
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 |