文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python中如何进行微信防撤回

2023-06-02 05:04

关注

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中如何进行微信防撤回问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网行业资讯频道了解更多相关知识。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯