消息结构
2025/11/3...大约 4 分钟开发指南应用协议结构体
消息基类
| 参数名 | 类型 | 描述 |
|---|---|---|
| type | string | 消息类型 |
| data | 未知 | 消息数据 |
| raw? | 未知 | 平台原始字段 |
文本消息
继承自消息基类
| 参数名 | 类型 | 描述 |
|---|---|---|
| type | text | 消息类型 |
| data | string | 文本数据 |
| markdown | string | Markdown 数据,平台支持则转为 Markdown 消息 |
| url | string | URL 数据,平台支持则转为链接消息 |
提及消息基类
继承自消息基类
| 参数名 | 类型 | 描述 |
|---|---|---|
| type | mention | 消息类型 |
| data | string | 提及目标类型 |
提及用户消息
继承自提及消息基类
| 参数名 | 类型 | 描述 |
|---|---|---|
| data | user | 提及目标类型 |
| id | string | 用户标识符 |
| name | string | 用户名 |
提及全体成员消息
继承自提及消息基类
| 参数名 | 类型 | 描述 |
|---|---|---|
| data | all | 提及目标类型 |
回复消息
继承自消息基类
| 参数名 | 类型 | 描述 |
|---|---|---|
| type | reply | 消息类型 |
| data | string | 消息ID |
| summary? | string | 消息摘要 |
文件消息基类
继承自消息基类
| 参数名 | 类型 | 描述 |
|---|---|---|
| name | string | 文件名 |
| summary | string | 文件摘要 |
| size? | number | 文件字节 |
| id? | string | 文件标识符 |
| data | string | 文件数据类型 |
ID文件消息
继承自文件消息基类
| 参数名 | 类型 | 描述 |
|---|---|---|
| data | id | 消息类型 |
| id | string | 文件标识符(使用API getFile(id) 获取文件) |
二进制文件消息
继承自文件消息基类
| 参数名 | 类型 | 描述 |
|---|---|---|
| data | binary | 消息类型 |
| binary | Buffer | string | 文件二进制或 base64:// |
URL文件消息
继承自文件消息基类
| 参数名 | 类型 | 描述 |
|---|---|---|
| data | url | 消息类型 |
| url | string | 文件链接 |
本地文件消息
继承自文件消息基类
| 参数名 | 类型 | 描述 |
|---|---|---|
| data | path | 消息类型 |
| path | string | 文件路径(请先判断是否位于同一系统) |
媒体文件消息
继承自ID文件消息 | 二进制文件消息 | URL文件消息 | 本地文件消息
| 参数名 | 类型 | 描述 |
|---|---|---|
| type | file image voice audio video | 消息类型 |
相关信息
voice 是语音类型,通常音质较低;audio 是音频类型,注重音质。
为保证音质,不支持音频消息的平台,应改为发送文件而不是语音。
按钮基类
| 参数名 | 类型 | 描述 |
|---|---|---|
| text | string | 按钮上的文字 |
| clicked_text | string | 按钮点击后的文字 |
| permission | string | string[] | 谁能点按钮,用户ID或用户ID数组 |
| 平台名 | 平台字段 | 平台额外字段,非目标平台忽略 |
链接按钮
继承自按钮基类
| 参数名 | 类型 | 描述 |
|---|---|---|
| link | string | 按钮链接 |
输入按钮
继承自按钮基类
| 参数名 | 类型 | 描述 |
|---|---|---|
| input | string | 输入数据 |
| send? | boolean | 是否直接发送 |
回调按钮
继承自按钮基类
| 参数名 | 类型 | 描述 |
|---|---|---|
| callback | string | 回调数据 |
按钮消息
继承自消息基类
| 参数名 | 类型 | 描述 |
|---|---|---|
| type | button | 消息类型 |
| data | (链接按钮 | 输入按钮 | 回调按钮)[][] | 按钮[行][列] |
扩展消息
继承自消息基类
| 参数名 | 类型 | 描述 |
|---|---|---|
| type | extend | 消息类型 |
| extend | string | 扩展消息类型,目标平台不支持则忽略 |
| data | 未知 | 扩展消息数据 |
平台消息
继承自消息基类
使用模式匹配平台名,不匹配则忽略
- include 目标在匹配列表
- exclude 目标不在匹配列表
- regexp 目标符合匹配列表正则表达式
| 参数名 | 类型 | 描述 |
|---|---|---|
| type | platform | 消息类型 |
| mode | include exclude regexp | 匹配模式 |
| list | string | string[] | 扩展消息类型,目标平台不支持则忽略 |
| data | 未知 | 平台消息数据 |
消息段
包含以上所有消息的联合类型。
消息
应用端发送消息时,文本消息可用 string 表示,单条消息段可不用数组:
string | 消息段 | (string | 消息段)[]
实现端传给应用端的只会是消息数组:消息段[]
