FileMessage
文件消息,继承自 Message。
属性
| 属性 | 类型 | 说明 |
|---|---|---|
content | str | 文件描述 |
sender | str | 发送者 |
source | Source | 消息来源 |
file_name | str | 文件名 |
file_size | str | 文件大小(如 "5.5K"、"1.2M") |
file_status | str | 文件状态("已下载" / "未下载" / "下载中" / "对方上传中" / "已过期") |
file_progress | str | 上传/下载进度百分比(如 "10%") |
type_label | str | 固定为 "文件消息" |
支持的操作
hover、scroll_to_visible、refresh、quote、collect、forward、revoke、save_as、delete
特有方法
get_file_path(timeout=60)
获取文件的本地路径。如未下载会自动触发下载并等待完成。
- timeout
int— 等待下载超时(秒) - 返回
str— 文件绝对路径
read(timeout=60)
读取文件二进制数据。如未下载会自动触发下载。
- timeout
int— 等待下载超时(秒) - 返回
bytes— 文件内容
download()
触发下载(下载到微信默认路径)。
download_to(file_path)
下载并保存到指定路径。
- file_path
str— 保存路径(含文件名) - 返回
bool
edit()
使用默认应用打开编辑。
show_in_folder()
在文件管理器中显示文件。
get_status()
获取文件的最新状态(通过重新读取控件 Name)。
- 返回
str— 状态文本
示例
python
from pywxauto import Weixin, Event
wx = Weixin()
@wx.on(Event.FILE)
def on_file(weixin, chat, message):
print(f"收到文件: {message.file_name} ({message.file_size}) [{message.file_status}]")
# 下载到指定目录
message.download_to(f"C:/downloads/{message.file_name}")
# 或直接读取内容
data = message.read()