Python + Wxpy 實現微信防撤回。

故事膠片發表於2019-08-12

Python + Wxpy 實現微信防撤回。

前提

昨天在群裡,看到小夥伴發了一個 ”不可描述“ 的圖片,我剛準備點開看,就發現TA撤回了,該死的撤回。看我怎麼整治你。

1.jpg

準備工作

  1. 開發工具
  2. 一個註冊一年以上的微訊號

工作原理

本專案的防撤回,實際上的原理是這個微信和你聊天的物件同處再一個群裡,它會實時監控聊天記錄,檢測到訊息狀態為撤回,就會從撤回之前的儲存的記錄裡,拿出這條資料,轉發給出去,從而達到一個防撤回的效果。通俗的講就是實時備份你的聊天記錄,然後提取出來撤回的那條。

注意事項

1、如果你想要防撤回效果,本微訊號一定要和你當前的微訊號再同一個群裡。

2、簡單的說就是你的機器人微信 和 你的主微信有著同樣的群聊,以達到防撤回的目的

3、暫不支援單人撤回,只能對群防撤回。

主要程式碼

獲取你要檢測的群物件,如果你想監聽所有物件,則不需要

Test = bot.groups().search(u'Test')
複製程式碼

將撤回的訊息 轉發到特定的群裡,以供再其他微信檢視,可以是單個好友或者檔案傳輸助手

recallNotice = ensure_one(bot.groups().search('recallNotice'))
複製程式碼
# 文字 TEXT = 'Text'
# 位置 MAP = 'Map' 1
# 名片 CARD = 'Card' 2
# 分享 SHARING = 'Sharing' 3
# 圖片 PICTURE = 'Picture'  4
# 語音 RECORDING = 'Recording' 5
# 檔案 ATTACHMENT = 'Attachment' 6
# 視訊 VIDEO = 'Video' 7
複製程式碼

註冊事件,所有群的訊息

@bot.register(Group)
複製程式碼

主要程式碼

def handleReceiveMsg(msg):
    '''
    監聽訊息
    :param msg:
    :param chats:
    :return:
    '''
    ra = msg.raw
    mss = msg.bot.messages
    le = len(mss)
 
    if ra['Status'] == 4:
        # 獲取訊息ID
        oldmsgid = re.search(re.compile('<msgid>(.*?)</msgid>', re.S),ra['Content']).group(1)
        for i in range(le-1,-1,-1):
            if oldmsgid == str(mss[i].id):
                name = msg.chat.name    // 獲取群名
                username = msg.member.nick_name // 獲取撤回訊息的人名
                if name == None or name == '':
                    name = msg.chat.nick_name
                    username = msg.member.nick_name
                    
                // 根據不同的訊息型別進行撤回提示
                if mss[i].type == 'Text':
                    recallNotice.send('來自【'+ name + '】的【' + username
                    +'】撤回了一條訊息:'+ mss[i].text)
                    bot.file_helper.send('來自【'+ name + '】的【' + username
                    +'】撤回了一條訊息:'+ mss[i].text)
                    break
複製程式碼

效果展示

2.jpg

3.png

完美通過測試,看你還怎麼撤回。

原始碼地址

微信公眾號 【小夭同學】回覆 【防撤回】

歷史回顧

超簡單!只需簡單幾步即可為TA定製天氣小助理!!!

關於我

小夭同學,頁面切圖仔。

想體驗機器人的小夥伴可以加下面二維碼,驗證資訊 【py】 自動通過拉你入群體驗機器人其他功能。

微信截圖_20190623160539.png

歡迎小夥伴關注我的微信 【小夭同學】 一起學習前端相關知識。

微信圖片_20190623160555.jpg

相關文章