【Python實現】微信防撤回

来源:https://www.cnblogs.com/123456feng/archive/2022/03/23/16045836.html
-Advertisement-
Play Games

1.前言 他總是微信撤回,是有什麼東西不能給我看嗎?我得想一個法子治治他,看看是不是在外面有人了,哈哈哈… 2 有微信聯想起的哲思 2.1 哲學思維開始冒頭 在這個信息量大增的信息時代,每天腦袋要處理很大的信息量,還是需要瞭解一點底層邏輯。 你看中國的名家,它甚至把的問題基本都提到了,也就是中國在前 ...


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()

 

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

在这里插入图片描述


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 基本開發環境💨 Python 3.6 Pycharm 相關模塊的使用💨 import os import requests import time import re import json from docx import Document from docx.shared import Cm ...
  • 原文鏈接: 我寫的 Python 代碼,同事都說好 人生苦短,我用 Python。 程式員的追求就是不寫代碼,早日財務自由。不對,一不小心把實話說出來了,應該是將代碼寫得簡潔,優雅。 Python 程式員的追求則是 Pythonic,正好在 Python 這門語言中,「隱藏」了特別多方法,可以使代碼 ...
  • Java的第二周作業的思考總結,涉及的只是有static代碼塊的輸出次序,面向對象的編程實戰,字元串的拼接等java基本的關鍵的內容。 ...
  • 枚舉 對於一些簡單的題目,我們或許不需要用什麼太巧妙的方法,只需要把所有的可能性列舉出來,然後逐一試驗就可以了。 方法 通過事先把各種可能發生的事情都列舉一遍,為後面求解提供結果。 常見類型 枚舉排列 枚舉子集 遞歸 基本思想 通過不斷調用自己,把一個複雜問題層層轉化為規模更小的相似問題。 補充 n ...
  • 話說人生苦短,我用Python。 如果學python不是為了下載這些視頻,那將毫無意義! 啊呸,老色批 咳咳,我們開始正題,聲明一下,雖然某平臺幾十位老師被抓了,但是咱們不爬那些視頻哈。 一、事前前奏 首先沒裝Python、pycharm的鐵子先自己安裝一下,我就不寫安裝了。 然後就是模塊了,還是爬 ...
  • 每次情人節我都會問女朋友,你喜歡啥?你想要啥?但是每次女朋友每次都說:‘’你自己想,伸手要來的沒有驚喜”。這搞的我還沒到情人節就開始失眠了,總是擔心送的禮物她會不喜歡,相信有很多朋友跟我一樣苦惱吧。今天特意爬取了某東的數據,來分析下大家情人節都送什麼給女朋友。 主要使用Excel和Python的Pa ...
  • 一、安裝 pip install Selenium 二、初始化瀏覽器 Chrome 是初始化谷歌瀏覽器 Firefox 是初始化火狐瀏覽器 Edge 是初始化IE瀏覽器 PhantomJS 是一個無界面瀏覽器。 from selenium import webdriver driver = webd ...
  • 需求:通過鍵盤錄入的年份獲取該年的二月共有多少天? 分析: 1.使用Scanner類獲取輸入的年份 2.設置輸入的值的日曆的年月日 月份因為是從零開始的需要加一,月份設置為2,也就是三月 天數設置為1,那麼再往前推一天就是二月份的最後一天也就是我們要的天數 3.獲取這一天輸出 public clas ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...