废话不多说,给个关注和点赞才上代码。。。。开玩笑的上代码!!!
仅供学习交流!!!禁止用于违法行为!!!
这是精确的回复,只有完全一摸一样才会进行回复,请别看了前面就复制代码走人了,请看完整篇文章!!!
第一步:打开终端
第二步: 导入相应的库
pip install numpy
pip install pandas
pip install uiautomation
第三步:复制粘贴
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# 此工程开始于2023年9月9日
# 于9月14号完成,写的不好请多担待,欢迎各位大佬点评
import numpy as np # 引入numpy库,目的是将读取的数据转换为列表
import pandas as pd # 引入pandas库,用来读取csv数据
from uiautomation import WindowControl # 引入uiautomation库中的WindowControl类,用来进行图像识别和模拟操作
# 绑定微信主窗口
wx = WindowControl(
Name='微信',
searchDepth=1
)
# 切换窗口
wx.ListControl()
wx.SwitchToThisWindow()
# 寻找会话控件绑定
huihua = wx.ListControl(Name='会话')
# 通过pd读取数据
hfsj = pd.read_csv('回复数据1.csv', encoding='GBK')
print(hfsj)
# 死循环接收消息
while True:
# 从查找未读消息
we = huihua.TextControl(searchDepth=4)
# 死循环维持,没有超时报错
while not we.Exists():
pass
# 存在未读消息
if we.Name:
# 点击未读消息
we.Click(simulateMove=False)
# 读取最后一条消息
last_dq = wx.ListControl(Name='消息').GetChildren()[-1].Name
# 判断关键字
gjz = hfsj.apply(lambda x: x['回复内容'] if x['关键词'] == last_dq else None, axis=1)
print(gjz)
# 数据筛选,移除空数据
gjz.dropna(axis=0, how='any', inplace=True)
# 做成列表
ar = np.array(gjz).tolist()
# 能够匹配到数据时
if ar:
# 将数据输入
# 替换换行符号
wx.SendKeys(ar[0].replace('{br}', '{Shift}{Enter}'), waitTime=1)
# 发送消息 回车键
wx.SendKeys('{Enter}', waitTime=1)
# 通过消息匹配检索会话栏的联系人
wx.TextControl(SubName=ar[0][:5]).RightClick()
# 没有匹配到数据时
else:
wx.SendKeys('他不在,我是他的聊天回复助手,发送1可以自动帮你联系他', waitTime=1)
wx.SendKeys('{Enter}', waitTime=1)
wx.TextControl(SubName=last_dq[:5]).RightClick()
第四步:制作表格
确保为:回复数据1.csv
当然你要改也可以,不过代码中相应的位置也得改,“ .csv "这个不能改
格式如下:
第五步:确保在同一个路径下
如图:
第六步:运行程序
请确保微信已经打开,没有被关闭如第五步 左下角的微信图标就好了
好了,今天就写这么多,累死我了
记得点个赞哈,当然你不给我也没办法,拜拜