“撤回我也能看到!教你用Python制作微信防撤回脚本” 是一篇非常实用的文章,涉及到的内容包括微信机器人、图像处理、Python响应式编程等多个方面。下面将详细讲解该攻略的完整流程。
1. 准备工作
在开始制作微信防撤回脚本之前,需要进行一些准备工作。首先,需要注册一个微信测试号,以便在本地进行测试。具体的注册流程可以参考微信公众平台的官方文档。其次,需要安装Python3及其相关的开发环境,如pip、wxpy等。最后,需要掌握一定的Python编程技能,如基本语法、面向对象编程、多线程编程等。
2. 实现流程
2.1 导入wxpy模块
首先,需要将wxpy模块导入Python中。wxpy是一个Python微信机器人框架,可以用于模拟微信客户端的操作。在本次实验中,我们将使用wxpy模块来实现微信防撤回脚本。
from wxpy import *
2.2 初始化机器人
调用Bot()方法初始化机器人,并通过机器人登录微信账号。对于普通的微信用户,可以使用手机扫描二维码登录,也可以使用手机微信扫描共享二维码登录。在初始化机器人的过程中,还可以选择是否缓存所有的好友和群组,以便于后续操作。
bot = Bot(cache_path=True)
2.3 监听消息
使用异步框架监听微信消息。在wxpy中,可以使用@bot.register()方法来监听指定类型的消息,例如文本、图片、语音等。在本次实验中,我们将使用on_message()方法来监听所有的消息。
@bot.register()
def on_message(msg):
print(msg)
2.4 监听撤回消息
由于微信客户端本身并不支持查看撤回消息,因此需要通过机器人监听到某个撤回消息的事件,然后再将其转发至其他群组。在wxpy中,可以使用msg.new_share()方法来监听撤回消息,该方法返回一个新的消息对象,可以通过该对象来获取被撤回的消息内容。
@bot.register()
def on_message(msg):
if msg.type == "Sharing":
# 记录原始消息
originalMessage = msg
elif msg.type == "Sharing" and msg.url == "https://support.weixin.qq.com/cgi-bin/mmsupport-bin/addcontactsrepeal":
# 检测到撤回消息
if originalMessage:
# 转发原始消息
group.forward(originalMessage, prefix="防撤回:")
2.5 运行脚本
在完成以上步骤之后,即可运行脚本并测试微信防撤回功能。在机器人登录微信之后,可以在微信客户端中测试各种消息类型,包括文本、图片、语音、视频等。当某个用户撤回一条消息时,机器人将自动将该消息转发至另一个群组,并在前缀中加上“防撤回:”字样。
3. 示例说明
下面将通过两个示例说明如何使用Python制作微信防撤回脚本。
3.1 示例一
某人在群聊中发送一条文本消息:“明天一起去吃饭吧”。当这条消息被其他人撤回时,机器人将自动将该消息转发至自己的另一个群组,并在前缀中加上“防撤回:”字样,例如:“防撤回:明天一起去吃饭吧”。
@bot.register()
def on_message(msg):
if msg.type == "Sharing":
# 记录原始消息
originalMessage = msg
elif msg.type == "Sharing" and msg.url == "https://support.weixin.qq.com/cgi-bin/mmsupport-bin/addcontactsrepeal":
# 检测到撤回消息
if originalMessage:
# 转发原始消息
group.forward(originalMessage, prefix="防撤回:")
3.2 示例二
某人在群聊中发送一张图片,其他人在看到图片后将其删除。当这张图片被删除后,机器人将自动将该图片转发至自己的另一个群组,并在前缀中加上“防撤回:”字样。
@bot.register()
def on_message(msg):
if msg.type == "Sharing":
# 记录原始消息
originalMessage = msg
elif msg.type == "Sharing" and msg.url == "https://support.weixin.qq.com/cgi-bin/mmsupport-bin/addcontactsrepeal":
# 检测到撤回消息
if originalMessage and originalMessage.type == "Picture":
# 转发图片
group.forward(originalMessage.file_name, prefix="防撤回:")
4. 总结
通过本文的讲解,我们可以了解到如何使用Python制作微信防撤回脚本。在制作过程中,我们借助了wxpy模块来模拟微信客户端的操作,并使用响应式编程来实现异步监听微信消息。在实现过程中,还需要注意机器人登录微信账号的方式和机制,以便于在本地进行测试。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:撤回我也能看到!教你用Python制作微信防撤回脚本 - Python技术站