[工具]:Win 系统下微信 wxauto+AI 工具部署
本文最后更新于9 天前,如有版本迭代或环境切变,可告知邮箱到xianghy_m@sina.com指正修改。

一、前言

微信官方并不支持机器人,并且限制了网页版微信的登录,使得基于网页接口的第三方库无法使用。因此,基于桌面版协议登录的微信机器人工具变得尤为重要。wxauto 正是这样一款开源的 Windows 版本微信客户端自动化工具,能够实现简单的发送、接收微信消息等功能。

二、安装 wxauto

(一)环境准备

  1. 操作系统 :确保你的系统为 Windows 10 或 Windows Server 2016 及以上版本。
  2. Python 环境 :需要安装 Python 3.6 及以上版本,但不支持 3.7.6 和 3.8.1。可以通过以下步骤安装 Python:
    • 访问 Python 官方网站 https://www.python.org/downloads/,下载对应版本的 Python 安装包。
    • 运行安装包,建议在安装过程中勾选 “Add Python to PATH” 选项,以便将 Python 添加到系统环境变量中。
    • 安装完成后,打开命令提示符,输入 python --version 命令,验证 Python 是否安装成功。

(二)安装 wxauto

  1. 使用 pip 安装 :打开命令提示符,输入以下命令安装 wxauto:bash复制pip install wxauto如果网络较慢,可以更换为国内镜像源,例如使用阿里云镜像源:bash复制pip install wxauto -i https://mirrors.aliyun.com/pypi/simple

三、使用 wxauto

(一)获取微信控制权限

在使用 wxauto 之前,必须先登录 PC 微信客户端,否则无法获取微信消息。登录微信后,使用以下代码获取微信的控制权限:Python复制

from wxauto import *
wx = WeChat()

(二)获取会话列表

通过 GetSessionList() 方法可以获取当前的会话列表:

Python复制

wx.GetSessionList()

(三)搜索好友或关键词

如果想要查找某个好友或关键词,可以使用 Search() 方法。在 keyword 参数中填写想要查找的内容,名称最好完整匹配,不完全匹配只会选取搜索框第一个:

Python复制

wx.Search(keyword='my friend\'s ID')

(四)获取聊天记录

  1. 获取当前窗口聊天记录 :使用 GetAllMessage() 方法可以获取当前窗口中加载的所有聊天记录。返回的聊天记录是一个列表,每一条消息是以元组的格式存储在列表中:Python复制msgs = wx.GetAllMessage() for msg in msgs: print('%s : %s' % (msg[0], msg[1]))
  2. 加载更多聊天记录 :如果聊天信息较多,可以使用 LoadMoreMessage() 方法向上滚动鼠标滚轮,加载更多聊天记录到内存,然后再使用 GetAllMessage() 获取更多消息:Python复制wx.LoadMoreMessage() msgs = wx.GetAllMessage()

(五)发送消息

  1. 打开聊天窗口 :使用 ChatWith() 方法打开某个聊天框。该方法会先在当前页面查找指定的好友,如果找不到,则会向下滚动几次,如果还是找不到,则会在搜索框进行搜索:Python复制who = '文件传输助手' wx.ChatWith(who)
  2. 发送文本消息 :使用 SendMsg() 方法向当前窗口发送消息。msg 参数传递要发送的消息,clear 参数默认为 True,表示删除对话框中原有的文字后再发送消息。如果想保留对话框中的文字一并发出去,可以将 clear 参数设置为 False:Python复制msg = '你好~' wx.SendMsg(msg)
  3. 发送多行消息 :如果要发送多行消息,可以利用剪贴板。使用 WxUtils.SetClipboard() 方法将消息存储到剪贴板,然后使用 SendClipboard() 方法发送剪贴板中的内容:Python复制msg = '''你好 这是第二行 这是第三行 这是第四行''' WxUtils.SetClipboard(msg) wx.SendClipboard()

(六)发送文件

wxauto 还可以发送文件。使用 SendFiles() 方法向当前聊天窗口发送文件。*filepath 参数表示要发送文件的绝对路径,可以同时传递多个文件。not_exists 参数默认为 ignore,表示如果未找到指定文件,不会终止程序。首次发送文件可能花费时间较长,后续调用会缩短发送时间:

Python复制

file1 = 'D:/test/wxauto.py'
file2 = 'D:/test/pic.png'
file3 = 'D:/test/files.rar'
who = '文件传输助手'
wx.ChatWith(who)
wx.SendFiles(file1, file2, file3)

四、注意事项

  1. 微信版本兼容性 :部分版本的微信可能由于 UI 界面不同从而无法使用 wxauto。经过测试,截至 2022 年 8 月的最新版本桌面端微信运行没有问题。但如果你使用的是其他版本的微信,可能需要进行测试以确保兼容性。
  2. 二次开发 :wxauto 的功能相对较少,真正使用起来可能需要进行很多的二次开发。有兴趣的用户可以前往作者的 GitHub 地址 https://github.com/cluic/wxauto 下载源码进行开发。

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇