类型定义
本页上定义了一些类型,可能会出现在包的体中。
Common
通用协议类型。
HTTPRequest
字段名 | 数据类型 | 说明 |
---|---|---|
method | string | 请求方法:"GET","POST" 等 |
url | string | 请求地址 |
header | { [key: string]: string[] } | HTTP Headers |
body | byte[] | HTTP Body |
CMD
解析后的命令。下表中前五个字段都是可选字段,是否存在取决于插件的配置。
字段名 | 数据类型 | 说明 |
---|---|---|
cmd | RichTextElement[] | 命令:由一组图文消息段组成 |
cmd_str | string | 命令:纯字符串,去除了其他媒体(如图片、At 等)以后的命令 |
args | RichTextElement[][] | 命令参数:有多个命令参数,每个命令参数由一组图文消息段组成 |
args_txt | string[] | 命令参数:多个命令参数,每个命令参数都是去除了其他媒体(如图片、At 等)以后的纯字符串 |
args_str | string | 命令参数字符串:由 args_txt 以空格分割组成个一个字符串 |
cmd_prefix | string | 命令前缀 |
message | Message | 命令对应的消息 |
UBM-API
通用机器人消息 API。
UBM
通用机器人消息。
字段名 | 数据类型 | 说明 |
---|---|---|
type | string | 消息类型 |
date | int64 | UNIX 时间戳 |
message | Message | 聊天消息(消息类型是 message 时需要) |
notice | Notice | 系统消息:如加群通知等(消息类型是 notice 时需要,仅用于收到的消息) |
response | Response | 响应消息:发出 Message 时的发送结果,或发出 Action 时的响应数据(消息类型是 response 时需要,仅用于收到的消息) |
action | Action | 操作消息:退群等非聊天请求(消息类型是 action 时需要,仅用于发出的消息) |
self | User | 自己的用户(仅用于收到的消息) |
Message
聊天消息。
字段名 | 数据类型 | 说明 |
---|---|---|
id | string | 消息 ID,只在当前会话中唯一(仅用于收到的消息) |
from | User | 消息来自的用户(仅用于收到的消息) |
chat | Chat | 会话(仅用于收到的消息) |
cid | CID | 会话 CID(仅用于发出的消息) |
is_message_to_me | bool | 是否 at 或回复我(仅用于收到的消息) |
reply_id | string | 回复的消息 ID |
edit_id | string | 编辑的消息 ID |
delete_id | string | 撤回的消息 ID |
type | string | 消息类型 |
rich_text | RichTextElement[] | 图文(消息类型是 rich_text 时需要) |
sticker | Sticker | 贴纸(消息类型是 sticker 时需要) |
voice | Voice | 语音(消息类型是 voice 时需要) |
location | Location | 位置(消息类型是 location 时需要) |
CID
CID 标识一个会话 ID。任何两个不同会话的 CID 都不相同。
字段名 | 数据类型 | 说明 |
---|---|---|
messenger | string | 平台,实际为插件配置中的适配器名 |
chat_id | string | 平台中的会话 ID |
chat_type | string | 平台的会话类型 |
Chat
会话。
字段名 | 数据类型 | 说明 |
---|---|---|
cid | CID | 会话 CID |
title | string | 会话名(用户昵称或群名) |
description | string | 会话描述 |
UID
UID 标识一个用户 ID。
字段名 | 数据类型 | 说明 |
---|---|---|
messenger | string | 平台,实际为插件配置中的适配器名 |
id | string | 平台中的用户 ID |
username | string | 用户名(用于在文本中@一个用户的全平台唯一用户名,有些平台可能没有) |
User
用户。
字段名 | 数据类型 | 说明 |
---|---|---|
display_name | string | 显示名,取决于平台和会话 |
first_name | string | 名字 |
last_name | string | 姓(有些平台可能没有) |
uid | UID | 用户 UID |
private_chat | CID | 私聊该用户的会话 CID |
RichTextElement
图文消息段。
字段名 | 数据类型 | 说明 |
---|---|---|
type | string | 类型 |
text | string | 文本(消息类型是 text 时需要) |
at | At | At(消息类型是 at 时需要) |
image | Image | 图片(消息类型是 image 时需要) |
At
At.
字段名 | 数据类型 | 说明 |
---|---|---|
display_name | string | 有些平台允许 at 时自定义显示名 |
uid | UID | 要 at 的用户 UID |
Image
图片。
接收时可选参数不一定有,取决于平台。接收时没有 data 字段,只有 url 和 file_id 字段。接收到的 url 不一定可以直接下载,因为可能需要 token, 可以通过发送 Action 中的 GetFile 获取。
发送时只需要提供 data,url,file_id 之一即可:url 为公网可访问地址。
字段名 | 数据类型 | 说明 |
---|---|---|
messenger | string | 平台(仅用于收到的消息) |
format | string | (可选)图片格式 |
width | int | (可选)图片宽度 |
height | int | (可选)图片高度 |
data | byte[] | 图片 |
url | string | 图片 URL |
file_id | string | 文件 ID,取决于平台 |
file_size | int | (可选)文件大小 |
Sticker
贴纸。接收到的消息是否拉取图片取决于插件的配置。 发送时发送(id,pack_id)和 image 任一即可。
字段名 | 数据类型 | 说明 |
---|---|---|
messenger | string | 平台(仅用于收到的消息) |
id | string | 贴纸 ID,有些平台是唯一的,有些平台取决于贴纸包 ID |
pack_id | string | 贴纸包 ID,有些平台不存在 |
image | Image | 图片 |
Voice
语音。
接收时可选参数不一定有,取决于平台。接收时没有 data 字段,只有 url 和 file_id 字段。接收到的 url 不一定可以直接下载,因为可能需要 token, 可以通过发送 Action 中的 GetFile 获取。
发送时只需要提供 data,url,file_id 之一即可:url 为公网可访问地址。
字段名 | 数据类型 | 说明 |
---|---|---|
messenger | string | 平台(仅用于收到的消息) |
format | string | (可选)音频格式 |
duration | int | (可选)音频时长 |
data | byte[] | 音频 |
url | string | 音频 URL |
file_id | string | 文件 ID,取决于平台 |
file_size | int | (可选)文件大小 |
Location
位置。
字段名 | 数据类型 | 说明 |
---|---|---|
content | string | 详细地址 |
latitude | float64 | 纬度 |
longitude | float64 | 经度 |
title | string | 标题 |