微信、QQ防撤回神器,终于被我找到了,干货精讲

if not os.path.exists(temp):

os.mkdir(temp)

itchat.auto_login(True) # 自动登录

dict = {} # 定义一个字典

这是一个装饰器,给下面的函数添加新功能

能够捕获好友发送的消息,并传递给函数参数msg

@itchat.msg_register([TEXT, PICTURE, FRIENDS, CARD, MAP, SHARING, RECORDING, ATTACHMENT, VIDEO]) # 文本,语音,图片

def resever_info(msg):

global dict # 声明全局变量

info = msg[‘Text’] # 取出消息内容

msgId = msg[‘MsgId’] # 取出消息标识

info_type = msg[‘Type’] # 取出消息类型

name = msg[‘FileName’] # 取出消息文件名

取出消息发送者标识并从好友列表中检索

fromUser = itchat.search_friends(userName=msg[‘FromUserName’])[‘NickName’]

ticks = msg[‘CreateTime’] # 获取信息发送的时间

time_local = time.localtime(ticks)

dt = time.strftime(“%Y-%m-%d %H:%M:%S”, time_local) # 格式化日期

将消息标识和消息内容添加到字典

每一条消息的唯一标识作为键,消息的具体信息作为值,也是一个字典

dict[msgId] = {“info”: info, “info_type”: info_type, “name”: name, “fromUser”: fromUser, “dt”: dt}

#完整代码加群:739021630

@itchat.msg_register(NOTE) # 监听系统提示

def note_info(msg):

监听到好友撤回了一条消息

if ‘撤回了一条消息’ in msg[‘Text’]:

获取系统消息中的Content结点值

content = msg[‘Content’]

Content值为xml,解析xml

doc = xml.dom.minidom.parseString(content)

取出msgid标签的值

result = doc.getElementsByTagName(“msgid”)

该msgId就是撤回的消息标识,通过它可以在字典中找到撤回的消息信息

msgId = result[0].childNodes[0].nodeValue

从字典中取出对应消息标识的消息类型

msg_type = dict[msgId][‘info_type’]

if msg_type == ‘Recording’: # 撤回的消息为语音

recording_info = dict[msgId][‘info’] # 取出消息标识对应的消息内容

info_name = dict[msgId][‘name’] # 取出消息文件名

fromUser = dict[msgId][‘fromUser’] # 取出发送者

dt = dict[msgId][‘dt’] # 取出发送时间

recording_info(temp + ‘/’ + info_name) # 保存语音

拼接提示消息

send_msg = ‘【发送人:】’ + fromUser + ‘\n’ + ‘发送时间:’ + dt + ‘\n’ + ‘撤回了一条语音’

itchat.send(send_msg, ‘filehelper’) # 将提示消息发送给文件助手

发送保存的语音

itchat.send_file(temp + ‘/’ + info_name, ‘filehelper’)

del dict[msgId] # 删除字典中对应的消息

print(“保存语音”)

elif msg_type == ‘Text’:

text_info = dict[msgId][‘info’] # 取出消息标识对应的消息内容

fromUser = dict[msgId][‘fromUser’] # 取出发送者

dt = dict[msgId][‘dt’] # 取出发送时间

拼接提示消息

send_msg = ‘【发送人:】’ + fromUser + ‘\n’ + ‘发送时间:’ + dt + ‘\n’ + ‘撤回内容:’ + text_info

将提示消息发送给文件助手

itchat.send(send_msg, ‘filehelper’)

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img



既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Python开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注Python)
img

现在能在网上找到很多很多的学习资源,有免费的也有收费的,当我拿到1套比较全的学习资源之前,我并没着急去看第1节,我而是去审视这套资源是否值得学习,有时候也会去问一些学长的意见,如果可以之后,我会对这套学习资源做1个学习计划,我的学习计划主要包括规划图和学习进度表。

分享给大家这份我薅到的免费视频资料,质量还不错,大家可以跟着学习

习资源做1个学习计划,我的学习计划主要包括规划图和学习进度表。

分享给大家这份我薅到的免费视频资料,质量还不错,大家可以跟着学习

  • 24
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值