2011年1月21日

微信(WeChat) 是腾讯公司于2011年1月21日推出的一个为智能终端提供即时通讯服务的免费应用程序,由张小龙所带领的腾讯广州研发中心产品团队打造 。在互联网飞速发展的下、民众的需求下,微信已经更新到2.6.2.31版本,全民微信时代。村口的张大妈,家里的老父亲都知道怎么使用微信。

微信撤回消息功能是在微信的5.3.1中新增的。

  1. 如果需要撤回微信消息,长按刚刚发出去的消息,会弹出菜单,其中有撤回选项。

  2. 点击撤回后可以看到提示,会撤回刚才发出去的最后一条微信消息。

  3. 点击确定后,你会看到“你撤回了一条消息”的提示。

同时刚才的消息也从聊天记录中删除了。当你撤回微信消息后,对方虽然看不到你发送的消息,但会收到一条提示,显示你撤回一条消息。

当我们与朋友,亲人,爱人聊天的时候,我估计每个人都经理过,那就是微信撤回功能中所提到的,对方撤回一条消息。

俗话说,说出口的话,如泼出去的水,是收不回的。但今天可以了,在微信和QQ上,你可以撤回你刚刚说的话。当你的手机发出“嘀”的提示音,表示你收到了一条消息。忙打开,迫不及待地看看,是谁又在与自己说话。还没来得及看,或还没有看完,那句话却忽然没了,屏幕上显示“对方撤回了一条消息”。这个时候,我们都会有所感受

每天,我们的手机都会收到大量的信息,包括别人与你说的话,其中的绝大多数,都属于可有可无的话,即垃圾信息。你也许为此不胜其烦,但有一条消息,一定能够引起你的关注,那就是“对方撤回了一条消息”。

一条撤回的消息,就像一个秘密,让你迫切地想去一探究竟;或如一个诱饵,瞬间勾起你强烈的兴趣。你想知道,那是怎样的一句话?是对方不慎讲出的真话,还是一句发错了对象的话?

总之,这个撤回的消息,让人顿生无限遐想。这个时候,就是技术人员出马的时候了,哪门子技术人员?如题:Python程序员!

Python查看微信撤回消息源代码:

import re

import time

import itchat

from itchat.content import *

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

def text_reply(msg):

print(msg['Text'])

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

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

def text_reply(msg):

if msg['Type'] == 'Text':

reply_content = msg['Text']

elif msg['Type'] == 'Picture':

reply_content = r"图片: " + msg['FileName']

elif msg['Type'] == 'Card':

reply_content = r" " + msg['RecommendInfo']['NickName'] + r" 的名片"

elif msg['Type'] == 'Map':

x, y, location = re.search("<location x=\"(.*?)\" y=\"(.*?)\".*label=\"(.*?)\".*", msg['OriContent']).group(1,

2,

3)

if location is None:

reply_content = r"位置: 纬度->" + x.__str__() + " 经度->" + y.__str__()

else:

reply_content = r"位置: " + location

elif msg['Type'] == 'Note':

reply_content = r"通知"

elif msg['Type'] == 'Sharing':

reply_content = r"分享"

elif msg['Type'] == 'Recording':

reply_content = r"语音"

elif msg['Type'] == 'Attachment':

reply_content = r"文件: " + msg['FileName']

elif msg['Type'] == 'Video':

reply_content = r"视频: " + msg['FileName']

else:

reply_content = r"消息"

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

itchat.send(r"Friend:%s -- %s "

r"Time:%s "

r" Message:%s" % (friend['NickName'], friend['RemarkName'], time.ctime(), reply_content),

toUserName='filehelper')

itchat.send(r"我已经收到你在【%s】发送的消息【%s】稍后回复。--微信助手(Python版)" % (time.ctime(), reply_content),

toUserName=msg['FromUserName'])

itchat.auto_login()

itchat.run()

不过在此真心建议,如果是男女朋友,就不要去用Python查看了,有些事情不知道比知道要好。亲身经历,下次再见!

一支烟的时间导致他错失女神,Python查看撤回消息,力挽狂澜!的更多相关文章

  1. 网友"就像一支烟"山寨币分析估值方法

    [注:素材取自QQ群,2017年12月28日的聊天记录."就像一支烟"分享了自己的山寨币分析估值方法.因为删去了其他人的聊天记录,部分文字可能断章取义,仅供参考,具体情况请自行分析 ...

  2. KingbaseES V8R3 由于修改系统时间导致sys_rman备份故障案例

    ​ 案例说明: 此案例,为复现"current time may be rewound"错误.对于数据库环境,在使用前必须保证系统时间的正确性.如果数据库创建后,再将系统时间修改为 ...

  3. redis未设置idle超时时间导致连接过多

    今天ELK收集日志的时候,发现收集失败,查找各方面原因,最后在redis日志里面发现报错:[2489] 02 Jun 10:43:42 # Error allocating resoures for ...

  4. 抽一根烟的时间学会.NET Core 操作RabbitMQ

    什么是RabbitMQ? RabbitMQ是由erlang语言开发的一个基于AMQP(Advanced Message Queuing Protocol)协议的企业级消息队列中间件.可实现队列,订阅/ ...

  5. 时间序列模式(ARIMA)---Python实现

    时间序列分析的主要目的是根据已有的历史数据对未来进行预测.如餐饮销售预测可以看做是基于时间序列的短期数据预测, 预测的对象时具体菜品的销售量. 1.时间序列算法: 常见的时间序列模型; ​ 2.时序模 ...

  6. 一年时间,Pipenv就成为Python官方推荐的顶级工具?

    Pipenv是Kenneth Reitz在一年多前创建的“面向程序员的Python开发工作流程”,现在已成为管理软件包依赖关系的Python官方推荐资源. Python软件包安装管理的简要历史 为了正 ...

  7. 谁说程序员没有时间关心女朋友的,Python 教你如何掌握女神情绪变化

    很多人都是在朋友圈装死,微博上蹦迪.微信朋友圈已经不是一个可以随意发表心情的地方了,微博才是! 所以你不要傻傻盯着女神的朋友圈发呆啦!本文教你如何用 Python 自动通知女神微博情绪变化,从今天开始 ...

  8. 将STM32的标准库编译成lib使用【图文】

    以前一直使用STM32的标准库,需要一步步地将代码加进去,将编译选项设置好,然后再编译整个工程. 这个编译过程是一个相当慢的过程!完全编译大约需要一支烟的时间.每次建立工程都这么编译,是一个相当浪费时 ...

  9. 将STM32的标准库编译成lib

    转载自:http://www.cnblogs.com/zyqgold/p/3189719.html 以前一直使用STM32的标准库,需要一步步地将代码加进去,将编译选项设置好,然后再编译整个工程. 这 ...

随机推荐

  1. CRF资料

    与最大熵模型相似,条件随机场(Conditional random fields,CRFs)是一种机器学习模型,在自然语言处理的许多领域(如词性标注.中文分词.命名实体识别等)都有比较好的应用效果.条 ...

  2. LeetCode之旅(20)-Power of Three

    题目: Given an integer, write a function to determine if it is a power of three. Follow up: Could you ...

  3. javascript中的eval函数

    eval()只有一个参数,如果传入的参数不是字符串,则直接返回这个参数.否则会将字符串当成js代码进行编译,如果编译失败则抛出语法错误(SyntaxError)异常.如果编译成功则开始执行这段代码,并 ...

  4. jsJqGrid

    /*展开收起*/ $(function() { initGridTable(); }); function change() { var flag = $("#searchTitle&quo ...

  5. JAVA全套学习视频

    链接: https://pan.baidu.com/s/1miE7kvQ 密码: jj8x

  6. Spring ioc 详解

    引述:IoC(控制反转:Inverse of Control)是Spring容器的内核,AOP.声明式事务等功能在此基础上开花结果.但是IoC这个重要的概念却比较晦涩隐讳,不容易让人望文生义,这不能不 ...

  7. java设计模式--观察者模式(Observer)

    java设计模式--观察者模式(Observer) java设计模式--观察者模式(Observer) 观察者模式的定义: 定义对象间的一种一对多的依赖关系.当一个对象的状态发生改变时,所有依赖于它的 ...

  8. Django之Apps源码学习

    先了解下官方文档的介绍 Django包含了一个已经安装应用的注册表,这个注册表存储着配置信息以及用来自省,同时也维护着可用模型的列表. 这个注册表就是apps,位于django.apps下,本质上是一 ...

  9. mongodb查询语句

    左边是mongodb语句,右边是sql语句 db.users.find() select * from users db.users.find({"age" : 27}) sele ...

  10. window.open open new window?

    when ever i use window.location.href=//some url it always open a new window, this only happens when ...