Python中如何進(jìn)行微信防撤回,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。
大家在使用微信過程中,有時(shí)候消息還沒看到,就被撤回了。畢竟好奇心大家都有,明知到消息被撤回了,就更想去看一下是什么內(nèi)容。
心里想著萬一是女神給我表白了呢…
思路:
利用itchat庫(kù)將每次接收到的消息進(jìn)行緩存。監(jiān)聽撤回事件,當(dāng)有消失被撤回時(shí),通過msgId去緩存中取到信息再發(fā)送給文件傳輸助手。這樣就實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的防撤回功能。
效果圖
Python學(xué)習(xí)教程操作:將接收的消息緩存
import itchat
from itchat.content import *
import datetime
import re
import os
# 微信接受的信息存儲(chǔ)路徑
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']
# 當(dāng)前時(shí)間
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
# 消息為視頻、照片、語音、附件的時(shí)候需要進(jìn)行保存
save_type = [VIDEO, PICTURE, RECORDING, ATTACHMENT]
if msg_type in save_type:
# 保存文件
msg['Text'](FILE_PATH + msg['FileName'])
msg_text = msg['FileName']
# 消息類型為地圖、分享鏈接時(shí) 記錄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這個(gè)字典當(dāng)中。下面我們就可以對(duì) 撤回 事件進(jìn)行監(jiān)聽
關(guān)于Python中如何進(jìn)行微信防撤回問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
分享標(biāo)題:Python中如何進(jìn)行微信防撤回-創(chuàng)新互聯(lián)
當(dāng)前地址:http://chinadenli.net/article30/dgjjpo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、外貿(mào)建站、云服務(wù)器、品牌網(wǎng)站設(shè)計(jì)、定制開發(fā)、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容