首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Python WxAuto自动化操作微信

Python WxAuto自动化操作微信

作者头像
用户11081884
发布2026-07-20 18:52:49
发布2026-07-20 18:52:49
400
举报

WxAuto 作为一款基于 Python 的微信桌面版自动化库,通过模拟用户操作(如点击、输入)来实现自动化流程。凭借其简洁的 API 和强大的功能,帮助用户实现消息收发、聊天记录管理、好友操作等常见任务的自动化,提升工作效率。

一、WxAuto 简介

WxAuto 是一个专为 Windows 系统设计的微信自动化工具,它基于 Python 3.7+依赖 wxauto 库,适用于微信桌面版。其主要功能包括:

  • 发送文字、图片、文件消息
  • 获取聊天记录和历史消息
  • 监听特定聊天的新消息
  • 管理好友(添加、通过申请)
  • 切换聊天窗口和获取好友信息

在使用前,请确保已安装正确版本的 Python 并配置好环境(参考官方文档:https://wxauto.loux.cc/docs/documents/Environment)。

二、基本使用方法

1. 安装与初始化

首先,通过 pip 安装 wxauto 库:

代码语言:javascript
复制
pip install wxauto

初始化微信对象是第一步,代码如下:

代码语言:javascript
复制
from wxauto import WeChat
# 获取微信窗口对象(需提前登录微信桌面版)wx = WeChat()# 输出示例:初始化成功,获取到已登录窗口:WeChat

2. 发送消息

WxAuto 支持发送文字、图片、文件等多种消息类型。

发送文字消息

使用 SendMsg 方法,可指定接收人、消息内容及@提醒。

代码语言:javascript
复制
# 发送文字消息示例
msg_content = "您好,这是通过 WxAuto 发送的测试消息!"
recipient = "技术交流群"  # 替换为实际聊天对象名称
wx.SendMsg(msg=msg_content, who=recipient, at=["管理员"])

发送文件或图片

通过 SendFiles 方法发送本地文件,支持多文件批量发送。

代码语言:javascript
复制
# 发送多个文件示例
file_list = [
    r"C:\data\report.pdf",
    r"C:\data\chart.png"
]
wx.SendFiles(filepath=file_list, who=recipient)

3. 获取消息

自动化处理消息是 WxAuto 的核心功能之一。

获取当前聊天窗口消息

使用 GetAllMessage 获取全部消息,并可选择保存媒体文件。

代码语言:javascript
复制
# 获取消息并保存图片
messages = wx.GetAllMessage(savepic=True, savefile=False)
for msg in messages:
    if msg.type == 'friend':
        print(f"{msg.sender} 说:{msg.content}")
    elif msg.type == 'self':
        print(f"我 发送:{msg.content}")

监听新消息:

通过 AddListenChatGetListenMessage 实现实时监听。

代码语言:javascript
复制
# 监听指定聊天
listen_targets = ["客户A", "项目组"]
for target in listen_targets:
    wx.AddListenChat(who=target)

new_msgs = wx.GetListenMessage()
for chat, msg_list in new_msgs.items():
    for msg in msg_list:
        if msg.type == 'friend':
            chat.SendMsg("自动回复:消息已收到,稍后处理。")

4. 管理好友

WxAuto 支持自动化好友管理,如添加好友或通过申请。

添加好友:

使用 AddNewFriend 方法发起好友申请。

代码语言:javascript
复制
wx.AddNewFriend(
    keywords="user123",  # 微信号或手机号
    addmsg="您好,我是来自技术社区的小王",
    remark="技术伙伴",
    tags=["同行", "合作"]
)

通过好友申请:

获取新申请列表并自动通过。

代码语言:javascript
复制
new_applications = wx.GetNewFriends()
if new_applications:
    application = new_applications
    application.Accept(remark="新好友", tags=["默认"])

5. 其他实用功能

  • 切换聊天窗口:使用 ChatWith 快速跳转到指定聊天。
代码语言:javascript
复制
wx.ChatWith(who="家人群")
  • 获取好友列表: GetAllFriends 返回好友昵称和备注信息。
代码语言:javascript
复制
friends = wx.GetAllFriends()
for friend in friends:
    print(f"昵称:{friend['nickname']}, 备注:{friend['remark']}")

三、注意事项

  • WxAuto 仅支持 Windows 系统下的微信桌面版,需保持微信处于登录状态。
  • 自动化操作应遵守微信使用规范,避免频繁操作触发限制。
  • 建议在测试环境中先验证代码逻辑,再应用于实际场景。

四、应用场景

01. 发送消息(文字、图片、文件):

1.1 文字 + @提醒

代码语言:javascript
复制
from wxauto import WeChat

wx = WeChat()                       # 绑定已登录微信窗口
chat = "技术交流群"                 # 群名称或好友备注
wx.SendMsg("大家好,这是自动发送的消息", who=chat, at=["小王"])

1.2 批量发送图片 / 文件

代码语言:javascript
复制
files = [
    r"D:\report\day.xlsx",
    r"D:\report\chart.png"
]
wx.SendFiles(filepath=files, who=chat)

02. 实时监听新消息:

场景:客服机器人、群消息同步、关键字告警。

2.1 单群监听 + 自动回复

代码语言:javascript
复制
wx.AddListenChat(who="客户咨询群")

while True:
    msgs = wx.GetListenMessage()
    for chat, msg_list in msgs.items():
        for msg in msg_list:
            if msg.type == 'text' and "价格" in msg.content:
                chat.SendMsg("价格表:https://example.com/price")
    time.sleep(1)

2.2 多群同步转发(消息中继)

代码语言:javascript
复制
sources = ["售前群", "售后群"]
target = "运营日报群"

for s in sources:
    wx.AddListenChat(who=s)

while True:
    msgs = wx.GetListenMessage()
    for chat, msg_list in msgs.items():
        for msg in msg_list:
            if msg.type == 'text':
                wx.SendMsg(f"{chat.name}: {msg.content}", who=target)
    time.sleep(1)

03. 好友管理(批量加人、自动通过):

3.1 关键字搜索 + 添加

代码语言:javascript
复制
wx.AddNewFriend(
    keywords="user123",          # 微信号/手机号
    addmsg="您好,我是客服小助手",
    remark="客户-user123",
    tags=["付费用户"]
)

3.2 自动通过好友申请

代码语言:javascript
复制
new_friends = wx.GetNewFriends()
for applicant in new_friends:
    applicant.Accept(remark="新客-来源官网")
    wx.SendMsg("欢迎加入社群!回复【菜单】获取服务列表", who=applicant)

04. 定时任务

4.1 每日推送运营日报

代码语言:javascript
复制
import schedule, datetime, pandas as pd

def job():
    df = pd.read_excel(r"D:\data\daily.xlsx")
    img_path = r"D:\data\daily.png"
    df.plot().figure.savefig(img_path)
    wx.SendFiles([img_path], who="运营总监群")

schedule.every().day.at("09:00").do(job)
while True:
    schedule.run_pending()
    time.sleep(1)

不要

建议

1 分钟 > 30 条消息

限速 1 秒/条

连续 24 h 运行

每 4 h 重启微信

重复内容轰炸

模板变量 + 随机后缀

限速装饰器:

代码语言:javascript
复制
import time, random

def rate_limit(interval=1.2):
    def decorator(func):
        def wrapper(*args, **kwargs):
            time.sleep(interval + random.uniform(0, 0.3))
            return func(*args, **kwargs)
        return wrapper
    return decorator

@rate_limit()
def safe_send(msg, who):
    wx.SendMsg(msg, who=who)

WxAuto 以其轻量化和易用性,成为 Python 开发者实现微信自动化的优选工具。可快速构建自动回复、群管理或数据收集等实用脚本。

“无他,惟手熟尔”!有需要就用起来。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-10-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Nicholas与Pypi 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、WxAuto 简介
  • 二、基本使用方法
    • 1. 安装与初始化
    • 2. 发送消息
    • 3. 获取消息
    • 4. 管理好友
    • 5. 其他实用功能
  • 三、注意事项
  • 四、应用场景
  • 01. 发送消息(文字、图片、文件):
    • 1.1 文字 + @提醒
    • 1.2 批量发送图片 / 文件
  • 02. 实时监听新消息:
    • 2.1 单群监听 + 自动回复
    • 2.2 多群同步转发(消息中继)
  • 03. 好友管理(批量加人、自动通过):
    • 3.1 关键字搜索 + 添加
    • 3.2 自动通过好友申请
  • 04. 定时任务
    • 4.1 每日推送运营日报
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档