python微信撤回监测代码

  • Post category:Python

下面我会结合示例详细讲解“python微信撤回监测代码”的完整攻略。

1. 模块安装

首先,我们需要在命令行中安装itchat模块,它是一个开源的微信个人号接口。

pip install itchat

2. 登录微信

在开始使用itchat模块之前,我们需要先登录微信。

import itchat

# 登录微信
itchat.auto_login(hotReload=True)

auto_login函数用于实现微信二维码登录,hotReload参数为True时,登陆的信息将会被保存在一个静态文件中,并且下一次开启程序的时候,我们就不需要再次扫描微信二维码了。

3. 监听消息

接下来是监听微信消息的代码。我们可以使用itchat的装饰器函数,将下文中的@itchat.msg_register修饰符附加到函数上,使得函数可以被注册为处理特定类型的微信消息。

import itchat

@itchat.msg_register('Text')
def text_reply(msg):
    # 监听到撤回消息
    if msg['Type'] == 'Note' and '撤回了一条消息' in msg['Content']:
        print("有人撤回了消息:{},撤回时间是:{}".format(msg['Content'], msg['ActualNickName']))

上述代码中,我们使用了@itchat.msg_register('Text')修饰符,使得text_reply()函数成为了一个处理文本类型消息的函数。我们还使用了if语句来监听撤回消息,而且当监听到撤回消息的时候,程序会输出被撤回的消息内容和撤回时间。

示例一:发一条消息,之后撤回消息

import itchat

@itchat.msg_register('Text')
def text_reply(msg):
    # 监听到撤回消息
    if msg['Type'] == 'Note' and '撤回了一条消息' in msg['Content']:
        print("有人撤回了消息:{},撤回时间是:{}".format(msg['Content'], msg['ActualNickName']))

# 登录微信
itchat.auto_login(hotReload=True)

# 发送消息
friends = itchat.search_friends(name='Tom') # 获取好友列表
if friends:
    friend = friends[0]
    friend.send('这是一条测试消息。') # 发送消息

itchat.run()

在上述代码中,我们首先使用itchat.search_friends(name='Tom')函数获取好友列表,然后选择第一个好友,并使用friend.send('这是一条测试消息。')发送了一条消息,接着程序将会监听到这条消息,并输出“这是一条测试消息。”这句话。最后,我们使用itchat.run()来运行整个程序,等待监听消息。

之后,我们可以在微信端将该消息撤回,程序就会输出类似于“有人撤回了消息:你撤回了一条消息,撤回时间是:Tom”这样的信息。

示例二:监测群聊中的撤回消息

除了监测个人聊天中的撤回消息之外,我们还可以监控群聊中的撤回消息。

import itchat
from itchat.content import *

@itchat.msg_register([TEXT, MAP, CARD, NOTE, SHARING, PICTURE, RECORDING, ATTACHMENT, VIDEO], isGroupChat=True)
def group_reply(msg):
    # 监听到撤回消息
    if msg['Type'] == 'Note' and '撤回了一条消息' in msg['Content']:
        print("有人在【{}】群组撤回了消息:{},撤回时间是:{}".format(msg['User']['NickName'], msg['Content'], msg['ActualNickName']))

# 登录微信
itchat.auto_login(hotReload=True)

# 监听消息
itchat.run()

在上例中,我们使用了isGroupChat=True参数来告诉@itchat.msg_register监听群聊消息,并使用if语句来判断是否是撤回消息,如果是撤回消息,程序就会输出类似于“有人在【Python学习交流】群组撤回了消息:WMR撤回了一条消息,撤回时间是:WMR”这样的信息。

以上就是“python微信撤回监测代码”的完整攻略,希望对你有帮助!