python wxauto教程
微信对于自身软件的定位问题,官方不支持微信机器人,并且也没有开放官方机器人的计划。
并且由于官方对基于网页协议的微信机器人持打击的态度,从2020年开始,腾讯就对网页版微信进行了限制登录,使得很多曾经大量被使用的基于微信网页接口的第三方库如Itchat、wxpy等都无法使用了。至此,想要开发微信机器人,只能基于桌面版协议登录了。
下面这个是在github发现的一个开源自动化操作微信的一个项目
它是Windows版本微信客户端自动化,可实现简单的发送、接收微信消息。开发者提醒,部分版本的微信可能由于UI界面不同从而无法使用,经过笔者测试,截至2022-08的最新版本桌面端微信运行没有问题。这里是github地址:
一、安装
pip install wxauto
首先在使用wxauto之前,必须先登录PC微信客户端!不然wxauto无从获取你的微信消息。
from wxauto import *
# 获取当前微信客户端
wx = WeChat()
# 获取会话列表
wx.GetSessionList()
who = '好友名字或者群名'
# 打开聊天窗口
wx.ChatWith(who)
# 此处加个1可以自动滑到所有聊天记录,如果不加就只滑动两次刷新
wx.LoadMoreMessage(1)
msgs = wx.GetAllMessage
for msg in msgs:
print('%s : %s'%(msg[0], msg[1]))
三、向某人发送消息
msg = '你好'
who = '文件传输助手'
WxUtils.SetClipboard(msg) # 将内容复制到剪贴板,类似于Ctrl + C
wx.ChatWith(who) # 打开`文件传输助手`聊天窗口
wx.SendClipboard() # 发送剪贴板的内容,类似于Ctrl + V
# SendMsg()也可以发送消息
# wx.SendMsg(msg)
发送文件
file1 = 'D:/test/wxauto.py'
file2 = 'D:/test/pic.png'
file3 = 'D:/test/files.rar'
who = '文件传输助手'
wx.ChatWith(who)
wx.SendFiles(file1, file2, file3)
方法与发送消息类似,只要选中对话好友,然后使用
还可以实现根据群消息不同关键字进行自动回复等等SendFiles(self, *filepath, not_exists=‘ignore’)就可以向当前聊天窗口发送文件了。参数not_exists默认为ignore表示如果未找到指定文件,不会终止程序;参数*filepath表示要复制文件的绝对路径,这里可以同时传递多个文件。这里还要说明一下,为保证发送文件稳定性,首次发送文件可能花费时间较长,后续调用会缩短发送时间

浙公网安备 33010602011771号