python微信点赞脚本_你写过的最好的 Python 脚本是什么?

利用itchat模块登录网页版微信,将自己微信收到的所有消息都缓存下来,当检测到有消息撤回时,将撤回消息的缓存版本通过文件传输助手发送到自己的手机上。

于是你就可以看到别人撤回的消息是什么了!!!

效果是这样的:

源代码:

# Python查看微信撤回消息

# 公众号: Charles的皮卡丘

# 作者: Charles

import re

import os

import time

import itchat

import platform

from itchat.content import TEXT

from itchat.content import *

msg_info = {}

face_package = None

# 处理接收到的信息

@itchat.msg_register([TEXT, PICTURE, FRIENDS, CARD, MAP, SHARING, RECORDING, ATTACHMENT, VIDEO], isFriendChat=True, isMpChat=True)

def handleRMsg(msg):

global face_package

# 接收消息的时间

msg_time_receive = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())

# 发信人

try:

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

except:

msg_from = 'WeChat Official Accounts'

# 发信时间

msg_time_send = msg['CreateTime']

# 信息ID

msg_id = msg['MsgId']

msg_content = None

msg_link = None

# 文本或者好友推荐

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

msg_content = msg['Text']

print('[Text/Friends]: %s' % msg_content)

# 附件/视频/图片/语音

elif msg['Type'] == 'Attachment' or msg['Type'] == "Video" or msg['Type'] == 'Picture' or msg['Type'] == 'Recording':

msg_content = msg['FileName']

msg['Text'](str(msg_content))

print('[Attachment/Video/Picture/Recording]: %s' % msg_content)

# 推荐名片

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

msg_content = msg['RecommendInfo']['NickName'] + '的推荐名片,'

if msg['RecommendInfo']['Sex'] == 1:

msg_content += '性别男。'

else:

msg_content += '性别女。'

print('[Card]: %s' % msg_content)

# 位置信息

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

x, y, location = re.search("

if location is None:

msg_content = r"纬度:" + x.__str__() + ", 经度:" + y.__str__()

else:

msg_content = r"" + location

print('[Map]: %s' % msg_content)

# 分析的音乐/文章

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

msg_content = msg['Text']

msg_link = msg['Url']

print('[Sharing]: %s' % msg_content)

msg_info.update(

{

msg_id: {

"msg_from": msg_from,

"msg_time_send": msg_time_send,

"msg_time_receive": msg_time_receive,

"msg_type": msg["Type"],

"msg_content": msg_content,

"msg_link": msg_link

}

}

)

face_package = msg_content

# 监听是否有消息撤回

@itchat.msg_register(NOTE, isFriendChat=True, isGroupChat=True, isMpChat=True)

def monitor(msg):

if '撤回了一条消息' in msg['Content']:

recall_msg_id = re.search("\(.*?)\<\/msgid\>", msg['Content']).group(1)

recall_msg = msg_info.get(recall_msg_id)

print('[Recall]: %s' % recall_msg)

# 表情包

if len(recall_msg_id) < 11:

itchat.send_file(face_package, toUserName='filehelper')

else:

msg_prime = '---' + recall_msg.get('msg_from') + '撤回了一条消息---\n' \

'消息类型:' + recall_msg.get('msg_type') + '\n' \

'时间:' + recall_msg.get('msg_time_receive') + '\n' \

'内容:' + recall_msg.get('msg_content')

if recall_msg['msg_type'] == 'Sharing':

msg_prime += '\n链接:' + recall_msg.get('msg_link')

itchat.send_msg(msg_prime, toUserName='filehelper')

if recall_msg['msg_type'] == 'Attachment' or recall_msg['msg_type'] == "Video" or recall_msg['msg_type'] == 'Picture' or recall_msg['msg_type'] == 'Recording':

file = '@fil@%s' % (recall_msg['msg_content'])

itchat.send(msg=file, toUserName='filehelper')

os.remove(recall_msg['msg_content'])

msg_info.pop(recall_msg_id)

if __name__ == '__main__':

if platform.platform()[:7] == 'Windows':

itchat.auto_login(enableCmdQR=False, hotReload=True)

else:

itchat.auto_login(enableCmdQR=True, hotReload=True)

itchat.run()

顺便你还可以分析一下微信好友的构成:Python简单分析微信好友​mp.weixin.qq.comv2-056071e95e34fde1ca8b04d68d2aad06_180x120.jpg

当然你也可以预测预测自己的颜值!Python实现颜值预测​mp.weixin.qq.comv2-9c5c7f83c200c7b03a21b78cf2ba62f8_180x120.jpg

做个AI五子棋:Python实现AI五子棋【初版】​mp.weixin.qq.comv2-b9d8bdb06b634c6dc7c849a2bcd5757d_180x120.jpg

用Python和Excel生成小姐姐:【Python+VBA】在Excel中生成小姐姐​mp.weixin.qq.comv2-6cc884932b59f64347045af097352ff8_180x120.jpg

欢迎搜索关注我的微信公众号:Charles的皮卡丘

不定期分享更多有趣好玩的Python脚本~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值