2024年Python最全信息时代——微信防撤回(Python实现)

#=导入相关库==

import re

import tuling_robot

#====自动接受好友=

def auto_accept_friends(msg):

接受好友请求

new_friend = msg.card.accept()

向新的好友发送消息

new_friend.send(‘我已自动接受了你的好友请求’)

#=自动回复=

def auto_reply(msg):

关键字回复 or 图灵机器人回复

handle_withdraw_msg(msg)

keyword_reply(msg) or tuling_reply(msg)

#=关键字回复============

def keyword_reply(msg):

if ‘你叫啥’ in msg.text or ‘你叫啥名字’ in msg.text:

return msg.reply(‘沃德天·维森莫·拉莫帅·帅德布耀’)

pass

#图灵机器人回复=====

def tuling_reply(msg):

tuling_robot.auto_reply(msg)

#=处理系统消息=====

def handle_system_msg(msg):

raw = msg.raw

4表示消息状态为撤回

if raw[‘Status’] == 4 and msg.bot.is_forward_revoke_msg:

转发撤回的消息

forward_revoke_msg(msg)

#转发撤回的消息

def forward_revoke_msg(msg):

获取被撤回消息的ID

revoke_msg_id = re.search(‘(.*?)’, msg.raw[‘Content’]).group(1)

bot中有缓存之前的消息,默认200条

for old_msg_item in msg.bot.messages[::-1]:

查找撤回的那条

if revoke_msg_id == str(old_msg_item.id):

判断是群消息撤回还是好友消息撤回

if old_msg_item.member:

sender_name = ‘群「{0}」中的「{1}」’.format(old_msg_item.chat.name, old_msg_item.member.name)

else:

sender_name = ‘「{}」’.format(old_msg_item.chat.name)

名片无法转发

if old_msg_item.type == ‘Card’:

sex = ‘男’ if old_msg_item.card.sex == 1 else ‘女’ or ‘未知’

msg.bot.master.send(‘「{0}」撤回了一张名片:\n名称:{1},性别:{2}’.format(sender_name, old_msg_item.card.name, sex))

else:

转发被撤回的消息

old_msg_item.forward(msg.bot.master,

prefix=‘{}撤回了一条消息:’.format(sender_name, get_msg_chinese_type(old_msg_item.type)))

return None

#=====转中文类型名=

def get_msg_chinese_type(msg_type):

if msg_type == ‘Text’:

return ‘文本’

if msg_type == ‘Map’:

return ‘位置’

if msg_type == ‘Card’:

return ‘名片’

if msg_type == ‘Note’:

return ‘提示’

if msg_type == ‘Sharing’:

return ‘分享’

if msg_type == ‘Picture’:

return ‘图片’

if msg_type == ‘Recording’:

return ‘语音’

if msg_type == ‘Attachment’:

return ‘文件’

if msg_type == ‘Video’:

return ‘视频’

if msg_type == ‘Friends’:

return ‘好友请求’

if msg_type == ‘System’:

return ‘系统’

-- coding: utf-8 --

#=导入相关库======#

import os

from itchat.content import *

import itchat

info = None

friend_id = None

info_type = None

name = None

cot = None

rev_tmp_dir = r’E:\科研\跑代码\跑代码\python\微信防测回’ + ‘\’

if not os.path.exists(rev_tmp_dir):

os.mkdir(rev_tmp_dir)

itchat.login()

@itchat.msg_register([TEXT,RECORDING,PICTURE])

def resever_info(msg):

global info

global friend_id

global info_type

global name

name = msg[‘FileName’]

info_type = msg[‘Type’]

info = msg[‘Text’]

friend_id = msg[‘FromUserName’]

print(msg)

print(info)

@itchat.msg_register(NOTE)

def chehui_info(chehui_msg):

global info

global friend_id

global name

print(chehui_msg)

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

if info_type == ‘Text’:

with open(rev_tmp_dir+“文本撤回.txt”,‘a’) as f:

f.write(info+‘\n’)

如果你也是看准了Python,想自学Python,在这里为大家准备了丰厚的免费学习大礼包,带大家一起学习,给大家剖析Python兼职、就业行情前景的这些事儿。

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

四、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

成为一个Python程序员专家或许需要花费数年时间,但是打下坚实的基础只要几周就可以,如果你按照我提供的学习路线以及资料有意识地去实践,你就有很大可能成功!
最后祝你好运!!!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值