功能简介
按条数上限拉取当前聊天窗口的历史消息,常用于补充近期上下文。
使用场景
- 只关心最近若干条消息以节省处理量
- 与切换到指定会话的流程配合使用
参数说明
输入参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| 获取数量 | 整数 | 是 | 希望获取的最大消息条数 |
| 保留系统消息 | 布尔值 | 否 | 默认 True;为 False 时去掉 属性 为 system 的条(时间轴、系统提示等) |
| 保留自己消息 | 布尔值 | 否 | 默认 True;为 False 时去掉己方发送(属性 为 self) |
| 保留对方消息 | 布尔值 | 否 | 默认 True;为 False 时去掉对方侧(属性 为 friend、other) |
输出参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| 消息列表 | 列表 | 是 | 元素为字典;每条消息的字段含义见下文「消息列表(单条)字段说明」 |
消息列表(单条)字段说明
本指令将每条消息整理为一个字典,各字段含义如下。
| 字段名 | 类型 | 说明 |
|---|---|---|
| 序号 | 整数 | 从 0 起,供后续按序号操作消息 |
| 发送者 | 字符串 | 该条消息的发送者显示名 |
| 内容 | 字符串 | 消息正文或系统提示等可见文本 |
| 类型 | 字符串 | 消息内容类型,常见取值见下表「消息内容类型常见取值」 |
| 属性 | 字符串 | 消息来源类型(己方/对方/系统等),常见取值见下表「消息来源类型常见取值」 |
| 发送者群昵称 | 字符串 | 仅部分群消息存在:发送人在本群设置的昵称;无此信息时字典中不包含该键 |
| id / hash / info / 时间 / 被引用内容 等 | 视类型而定 | 与【获取全部消息】规则一致 |
拉取完成后按「属性」字段筛选;「消息_序号」缓存与输出列表中的序号均为筛选后的连续编号。
消息内容类型常见取值
| 取值 | 含义 |
|---|---|
| time | 时间分隔(时间轴提示) |
| text | 文本 |
| quote | 引用 |
| voice | 语音 |
| image | 图片 |
| video | 视频 |
| file | 文件 |
| location | 位置 |
| link | 链接 |
| emotion | 表情 |
| merge | 合并转发 |
| personal_card | 个人名片 |
| note | 笔记 |
| other | 其他或未细分类型 |
消息来源类型常见取值
| 取值 | 含义 |
|---|---|
| system | 系统侧(如时间、系统提示等) |
| self | 当前账号自己发送 |
| friend | 对方/群友发送 |
| other | 其他 |
注意事项
- 需要先运行【初始化微信】指令。
- 需先通过【打开聊天窗口】指令切换到目标聊天窗口,再获取历史消息。
- 若微信版本或界面更新,个别消息的「类型」「属性」取值可能与上表略有差异,以实际运行得到的结果为准。
