本文主要是介绍微信消息自动回复并汇总,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
程序运行需扫描二维码登陆微信
微信信息格式例如:
姓名:张三
电话:14565343245
地址:山东省青岛市…
收到信息默认自动回复“已查收”,如需更改请输入2
输入关键词样式为:姓名,电话,地址
(注:中间用中文逗号隔开)
下面为具体操作界面截图
输入需要汇总的关键词,例如:姓名,电话,地址,然后回车
更改回复语句,如需更改请输入2,并输入自动回复信息,然后回车
随后正常情况弹出Excel界面与二维码,扫描进行登录
表示正常进入
随后别人给你发消息,包含姓名,电话,地址三个关键词就会自动回复并进行汇总
继续发送会重复计入,最后记得保存excel哦
如果觉得每次打开都要开python,那么可以封装成exe文件,这样直接运行就可以了
具体操作:打开运行(Ctrl+F),输入cmd,回车
在cmd命令中输入“pyinstaller -F 文件名.py”
这里注意,文件名不能是中文,否则容易报错
封装好的exe程序就在dist文件夹中
运行程序在dist文件夹里
源代码为auto_weixin.py文件(python3.6版本)
下面附上源代码
# -*- coding: utf-8 -*-
"""
Created on Fri Mar 29 19:40:49 2019@author: Administrator
"""import re
import itchat as wx
import win32com.client as win32print('''说明:
本程序功能为汇总微信信息,并导入Excel
****************************************************
程序运行需扫描二维码登陆微信微信信息格式例如:
姓名:张三
电话:14565343245
地址:山东省青岛市...收到信息默认自动回复“已查收”,如需更改请输入2
输入样式为:姓名,电话,地址
(注:中间用中文逗号隔开)
****************************************************''')keyword=input('请输入汇总信息关键词(中间用中文逗号隔开):')
match_str=re.compile('[,.,。;;]')
kword=re.split(match_str,keyword)
#去掉列表里空元素
while '' in kword:kword.remove('')
select=input('是否更改自动回复语句,默认“已查收”,不改请输入1,改则输入2:')while select!='1' and select!='2':select=input('输入错误,请重新输入(1或者2):')if select=='1' or select=='2':break
if select=='1' :auto_reply='已查收'
if select=='2' :auto_reply=input('请输入自动回复语句:')app = 'Excel'
xl = win32.gencache.EnsureDispatch('%s.Application' % app)
ss = xl.Workbooks.Add()
sh = ss.ActiveSheet
xl.Visible = True
sheet = ss.Worksheets(1)
#time.sleep(1)
for i in range(len(kword)):sh.Cells(1,i+1).Value =kword[i]sh.Range(sh.Cells(1, 1), sh.Cells(1, len(kword))).Font.Bold = True
sh.Range(sh.Cells(1, 1), sh.Cells(1, len(kword))).HorizontalAlignment = win32.constants.xlCenter #水平居中xlCenter @wx.msg_register([wx.content.TEXT])
def text_reply(msg):#先判断接受到的信息是否为文本类型if msg['Type']=='Text':info = msg['Content']n=0people=sheet.UsedRange.Rows.Count #行数 for i in range(len(kword)):if kword[i].strip() in info:n=n+1sh.Cells(people+1,i+1).Value =re.findall(''+str(kword[i].strip())+'.(.+)',info)[0].strip()if n==len(kword): wx.send_msg(auto_reply, msg['FromUserName'])sh.Range(sh.Cells(people+1, 1), sh.Cells(people+1, len(kword))).HorizontalAlignment = win32.constants.xlCenter #水平居中xlCenterprint('已汇总'+str(people)+'人')if __name__ == '__main__':wx.auto_login(hotReload=True) wx.run()
这篇关于微信消息自动回复并汇总的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!