一篇關於微信防撤回(文字、圖片、語音、影片、名片)的Python學習教程

千鋒Python唐小強發表於2019-07-30

大家在使用微信過程中,有時候訊息還沒看到,就被撤回了。畢竟好奇心大家都有,明知到訊息被撤回了,就更想去看一下是什麼內容。

心裡想著萬一是女神給我表白了呢… 今天的 Python學習教程 就教大家用Python來做個微信防撤回的小功能。支援文字、圖片、語音、影片、名片的防撤回。

思路 :

利用itchat庫將每次接收到的訊息進行快取。監聽撤回事件,當有消失被撤回時,透過msgId去快取中取到資訊再傳送給檔案傳輸助手。這樣就實現了一個簡單的防撤回功能。

效果圖

一篇關於微信防撤回(文字、圖片、語音、影片、名片)的Python學習教程

Python學習教程操作:將接收的訊息快取

import itchat

from itchat.content import *

import datetime

import re

import os

# 微信接受的資訊儲存路徑

FILE_PATH = '/home/wechat/'

# 存放微信訊息的快取字典

MSG_DICT = {}

# 微信訊息型別字典

MSG_MESSAGE = {'Text': '文字', 'Map': '位置分享', 'Sharing': '分享連結',

'Picture': '圖片', 'Video': '影片', 'Card': '名片',

'Attachment': '附件', 'Recording': '語音'}

"""

監聽訊息

"""

# 監聽的訊息型別 為TEXT, MAP, SHARING, PICTURE, VIDEO, CARD, RECORDING, ATTACHMENT

@itchat.msg_register([TEXT, MAP, SHARING, PICTURE, VIDEO, CARD, RECORDING, ATTACHMENT])

def wechat_msg(msg):

# 獲取訊息id

msg_id = msg['MsgId']

# 當前時間

msg_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')

# 傳送人

msg_from = itchat.search_friends(userName=msg['FromUserName'])['RemarkName']

# 備註為空 獲取暱稱

if not msg_from:

msg_from = itchat.search_friends(userName=msg['FromUserName'])['NickName']

# 內容

msg_text = msg['Text']

# 訊息型別

msg_type = msg['Type']

msg_url = None

# 訊息為影片、照片、語音、附件的時候需要進行儲存

save_type = [VIDEO, PICTURE, RECORDING, ATTACHMENT]

if msg_type in save_type:

# 儲存檔案

msg['Text'](FILE_PATH + msg['FileName'])

msg_text = msg['FileName']

# 訊息型別為地圖、分享連結時 記錄url

url_type = [MAP, SHARING]

if msg_type in url_type:

msg_url = msg['msg_url']

# 名片

if msg_type == CARD:

sex = msg['RecommendInfo']['Sex']

if sex == 1:

sex = '哥哥'

elif sex == 2:

sex = '姐姐'

else:

sex = 'ladyBoy'

msg_text = f'來自{msg["RecommendInfo"]["Province"]} { msg["RecommendInfo"]["City"]}的 {msg["RecommendInfo"]["NickName"]} {sex} 的名片.'

# 訊息放入字典中

MSG_DICT[msg_id] = {'msg_from': msg_from, 'msg_time': msg_time, 'msg_text': msg_text, 'msg_url': msg_url, 'msg_type': MSG_MESSAGE[msg_type]}

print({'msg_from': msg_from, 'msg_time': msg_time, 'msg_text': msg_text, 'msg_url': msg_url, 'msg_type': MSG_MESSAGE[msg_type]})


我們將微信接收到的文字、影片、語音、影像、附件等訊息型別都快取到了MSG_DICT這個字典當中。下面我們就可以對 撤回 事件進行監聽

Python學習教程:監聽撤回、傳送撤回內容


有興趣的夥伴可以試一下的,這篇關於微信防撤回的教程,去年就在琢磨跟大家出了。庫存啦哈哈哈!更多的 Python學習教程 和Python實用小技巧也會繼續為大家更新!


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69923331/viewspace-2652262/,如需轉載,請註明出處,否則將追究法律責任。

相關文章