您好,登錄后才能下訂單哦!
Python中如何進行微信防撤回,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
大家在使用微信過程中,有時候消息還沒看到,就被撤回了。畢竟好奇心大家都有,明知到消息被撤回了,就更想去看一下是什么內容。
心里想著萬一是女神給我表白了呢…
思路:
利用itchat庫將每次接收到的消息進行緩存。監聽撤回事件,當有消失被撤回時,通過msgId去緩存中取到信息再發送給文件傳輸助手。這樣就實現了一個簡單的防撤回功能。
效果圖
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中如何進行微信防撤回問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。