功能简介
读取当前已打开的聊天窗口中的全部消息,并返回为结构化列表。
使用场景
- 需要备份或分析当前会话记录
- 在自动化流程中基于历史消息做判断
参数说明
输入参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| 保留系统消息 | 布尔值 | 否 | 默认 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 | 其他 |
注意事项
- 需要先运行【初始化微信】指令。
- 需保证目标会话的聊天窗口已处于当前界面(与【打开聊天窗口】等指令配合使用),再获取消息。
- 若微信版本或界面更新,个别消息的「类型」「属性」取值可能与上表略有差异,以实际运行得到的结果为准。
