Skip to content

FileMessage

文件消息,继承自 Message

属性

属性类型说明
contentstr文件描述
senderstr发送者
sourceSource消息来源
file_namestr文件名
file_sizestr文件大小(如 "5.5K""1.2M"
file_statusstr文件状态("已下载" / "未下载" / "下载中" / "对方上传中" / "已过期"
file_progressstr上传/下载进度百分比(如 "10%"
type_labelstr固定为 "文件消息"

支持的操作

hoverscroll_to_visiblerefreshquotecollectforwardrevokesave_asdelete

特有方法

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()