【python】微信自动回复、聊天记录小脚本,女朋友再也不用担心我回复慢了!
本帖最后由 疯狂的鲨鱼 于 2020-5-24 01:17 编辑女朋友经常发消息秒撤回,我都没看见,于是就写了以下脚本。
可保存聊天记录,包括文字、语音和图片。
可自动回复,再也不用担心回复慢了!
本人新手,脚本仅是itchat的应用。
之前在原创区发布,带上了itchat的项目地址,居然给删帖了。
有点搞不懂,都一个3年没更新的项目了,觉得挺好玩的发一下罢了。
###
待更新:
1)想输出html格式,浏览的时候更有感觉。
2)处理推送内容。
测试图1:
测试图2:
源码:
import itchat
import time
'''
----- 使用说明 -----
1.第12-17行选择登录方式(可选)。
2.将第20行的*******改为对方的备注、微信号或者昵称。
3.可按照37-38行自定义自动回复(可选)。
[!] 聊天记录会保存在程序所在目录下的ChatRecords.log里,图片、语音会保存在程序所在目录。
[!] 本程序仅仅是itchat项目的应用。
'''
itchat.auto_login()
# 通过如下命令登陆,即使程序关闭,一定时间内重新开启也可以不用重新扫码。
#itchat.auto_login(hotReload=True)
# 命令行二维码登录。部分的linux系统,块字符的宽度为一个字符(正常应为两字符),故赋值为2。
#itchat.auto_login(hotReload=True,enableCmdQR=True)
#itchat.auto_login(hotReload=True,enableCmdQR=2)
myUserName = itchat.search_friends().UserName
herUserName = itchat.search_friends(name='**********').UserName
# 文字
@itchat.msg_register(itchat.content.TEXT)
def text(msg):
# 我发给她的消息
if msg.FromUserName == myUserName and msg.ToUserName == herUserName:
fo = open(r"./ChatRecords.log", "a")
fo.write(time.strftime("%Y-%m-%d %a %H:%M:%S", time.localtime()) + ' Boy:' + msg.Text + '\n')
fo.close()
# 她发给我的消息
if msg.FromUserName == herUserName and msg.ToUserName == myUserName:
fo = open(r"./ChatRecords.log", "a")
fo.write(time.strftime("%Y-%m-%d %a %H:%M:%S", time.localtime()) + ' Girl:' + msg.Text + '\n')
fo.close()
# 自动回复:接收到'我爱你'则自动回复'我也爱你'。
if msg.TEXT == '我爱你':
itchat.send('我也爱你', toUserName=herUserName)
# 语音
@itchat.msg_register(itchat.content.RECORDING)
def picture(msg):
nowTime = time.time()
fileNameAndTime = str(nowTime) + '-' + msg.fileName # 防止同时发送多个图片,图片名相同导致覆盖前一张图片。
if msg.FromUserName == myUserName and msg.ToUserName == herUserName:
fo = open(r"./ChatRecords.log", "a")
fo.write(time.strftime("%Y-%m-%d %a %H:%M:%S", time.localtime()) + ' Boy:' + '\n')
fo.close()
msg.download(fileNameAndTime)
if msg.FromUserName == herUserName and msg.ToUserName == myUserName:
fo = open(r"./ChatRecords.log", "a")
fo.write(time.strftime("%Y-%m-%d %a %H:%M:%S", time.localtime()) + ' Girl:' + '\n')
fo.close()
msg.download(fileNameAndTime)
# 图片
@itchat.msg_register(itchat.content.PICTURE)
def picture(msg):
nowTime = time.time()
fileNameAndTime = str(nowTime) + '-' + msg.fileName
if msg.FromUserName == myUserName and msg.ToUserName == herUserName:
fo = open(r"./ChatRecords.log", "a")
fo.write(time.strftime("%Y-%m-%d %a %H:%M:%S", time.localtime()) + ' Boy:' + '\n')
fo.close()
msg.download(fileNameAndTime)
if msg.FromUserName == herUserName and msg.ToUserName == myUserName:
fo = open(r"./ChatRecords.log", "a")
fo.write(time.strftime("%Y-%m-%d %a %H:%M:%S", time.localtime()) + ' Girl:' + '\n')
fo.close()
msg.download(fileNameAndTime)
itchat.run(debug=True) hj170520 发表于 2020-5-22 22:32
麻烦分享一下github,我关注一下~
你说的是itchat项目的还是我的,我的话一般很少用啦,新手。。{:301_971:}
itchat项目地址:https://itchat.readthedocs.io/zh/latest/
itchat项目github地址:https://github.com/littlecodersh/itchat 大兵马元帅 发表于 2020-5-23 17:13
我就是这样想的,但是我现在感觉工作中用不到啊,而且Python生产可执行文件比较麻烦,推广性比较难哦
毕竟是解释性语言,我把它用来方便自己。
可能是因为我平时就歪脑洞比较多,然后python就很好的作为实现工具。
最主要的你得有女朋友{:301_1007:} {:301_986:}麻烦分享一下github,我关注一下~ 有女朋友划重点 谢谢分享 现在常用的微信都不支持网页登陆了,美其名曰为了安全 大神,可以和你一起学吗 Simonl 发表于 2020-5-23 09:24
现在常用的微信都不支持网页登陆了,美其名曰为了安全
我只抓取一个人的消息,希望没事。。 大兵马元帅 发表于 2020-5-23 14:37
大神,可以和你一起学吗
python其实还是比较简单的,毕竟有很多包可以用。。
不过确实很方便,兼容性好,平时用电脑有什么操作可以考虑一下能不能用python实现一下,然后动手实践一下,边做边学可能不会很枯燥。