百木园-与人分享,
就是让自己快乐。

【Python实现】微信防撤回

1.前言

他总是微信撤回,是有什么东西不能给我看吗?我得想一个法子治治他,看看是不是在外面有人了,哈哈哈…

在这里插入图片描述

2 有微信联想起的哲思

2.1 哲学思维开始冒头

在这个信息量大增的信息时代,每天脑袋要处理很大的信息量,还是需要了解一点底层逻辑。

你看中国的名家,它甚至把的问题基本都提到了,也就是中国在前神学时代,它压制不住人类思维向高层开,所以它的神学思脉、哲学思脉都不断地要冒头,但最终部没有冒成典型状态而是一个滞碍状态。

2.2 哲学期

再下来哲学期,叫理性思辨淬炼,奠基科学前瞻。它兴起于古希腊,然后成为文艺复兴之后科学时代得以生长的基因。它式微于哥白尼、伽利略和牛顿,也就是以哥白尼、 伽利略和牛顿为标志哲学时代衰微,科学时代兴起,但它们是一个自然衔接过程。

我举一个例子,牛顿的书名叫《自然哲学的数学原理》,他认为他在做哲学,他不认为他在研究科学。他认为他研究的问题就是古希腊人早期研究的自然哲学问题。

在这里插入图片描述

而且你在他的书里不仅看到整个哲学思辨的那个基础,你还看到一个东西神学, 它的God,他认为人类逻辑思境的极致是深入不下去的,那个地方的起点、归原点是God。但是你今天读牛顿的书,你绝读不出宗教和哲学的味道,它已经在其中淡出这个意趣,也就是神
学哲学意趣淡出,突出的是整个科学第一次系统化宇宙观的表述。所以我们看牛顿学说就能知道,哲学期跟神学期的衔接关系。

2.3 科学时代

在这里插入图片描述

科学时代,大信息量之分化处理,这就是科学时代。

我在前面一再讲所谓人类文明过程, 就是信息增量过程。我这句话不准确,严格讲,整个宇宙物演进程,就是信息增益进程,也就是整个宇宙一百三十 七亿年的增长过程、发育过程,就是信息量不断增大的过程。

人类文明只不过继承了这个宇宙物演进程,所以人类文明一路表达为信息增量过程。

由于信息量越来越大,原来的哲学思辨,从博物学状态,也就是一个人可以掌握所有知识,到信息量太大,任何一个人无法处理如此之大的信息量。

于是成分科之学,每一个人只能研究一个专业,而且分科越来越细,它表达的是人类智力的分化,继续表达宇宙物演分化进程,这个信息量越来越大,处理越来越精深,任何个人无法承担,于是大家分科处理。我们把这个大信息量分化处理的高精阶段,叫科学阶段。

以至于像英国鸦片战争,居然开来几十余破船,就把农业文明最发达的大国中国打得惨败,它是一一个极为暴烈的文化代偿形态,它因此也将给自身带来严重的戕害效应,同时也给它自身带来未来紧迫的转型需要。

文化一定是维护载体生存的。如果一个文化最终显现出越来越大的戕害效应,怀志着这个文化行将衰落了,因此科学的强大力度反而是它快速转型的内在驱动力。

在这里插入图片描述

2.4 后科学时代

最后就是后科学时代,它以超大信息量的维护生存筛选处理为基本方式。什么意思?科学时代任何信息整理理成知识只要能为我所用,都是人类力量的表达。

3 微信防撤回完整代码奉上

在这里插入图片描述

Github项目地址:https://github.com/pig6/wxrobot
#=======导入相关库========
import reimport 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

 

###Python学习交流群Q:906715085
#======机器人回复===========
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(\'<msgid>(.*?)</msgid>\', 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 osfrom itchat.content import *import itchat

info = Nonefriend_id = Noneinfo_type = Nonename = Nonecot = Nonerev_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\')           
        itchat.send(msg=chehui_msg[\'Text\'] + \":\" + info, toUserName=friend_id)        
        elif info_type == \'Recording\':            
        info(rev_tmp_dir + name)            
        file = \'@fil@%s\' % (rev_tmp_dir + name)           
         itchat.send(msg=chehui_msg[\'Text\']+\":\", toUserName=\'friend_id\')          
           itchat.send(msg=file, toUserName=\'filehelper\')       
            elif info_type == \'Picture\':            
            info(rev_tmp_dir + name)           
             file = \'@fil@%s\' % (rev_tmp_dir + name)           
              itchat.send(msg=chehui_msg[\'Text\']+\":\", toUserName=\'friend_id\')           
               itchat.send(msg=file, toUserName=\'filehelper\')

itchat.run()

 

今天就到这里,知识嘎嘎增长,下一篇见。

在这里插入图片描述


来源:https://www.cnblogs.com/123456feng/p/16045836.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » 【Python实现】微信防撤回

相关推荐

  • 暂无文章