溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中如何進行微信防撤回

發(fā)布時間:2021-10-26 10:41:33 來源:億速云 閱讀:180 作者:柒染 欄目:編程語言

Python中如何進行微信防撤回,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

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

心里想著萬一是女神給我表白了呢… 

思路:

利用itchat庫將每次接收到的消息進行緩存。監(jiān)聽撤回事件,當有消失被撤回時,通過msgId去緩存中取到信息再發(fā)送給文件傳輸助手。這樣就實現(xiàn)了一個簡單的防撤回功能。

效果圖

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': '語音'}

"""

監(jiān)聽消息

"""

# 監(jiān)聽的消息類型 為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')

# 發(fā)送人

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

# 備注為空 獲取昵稱

if not msg_from:

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

# 內(nèi)容

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這個字典當中。下面我們就可以對 撤回 事件進行監(jiān)聽

關于Python中如何進行微信防撤回問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業(yè)資訊頻道了解更多相關知識。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI