python使用 wxpy 简简单单实现微信防撤回

import re
from wxpy import *
bot = Bot(cache_path='xiaohao.pkl')

@bot.register()
def handleReceiveMsg(msg):
    raw = msg.raw
    if raw['Status'] == 4:
        # 获取被撤回消息的ID
        oldmsgid = re.search(re.compile('(.*?)', re.S), raw['Content']).group(1)
        for one_msg in bot.messages[::-1]:  #从后循环所有信息
            if oldmsgid==str(one_msg.id):   #此msg就是撤回的信息
                #根据发送者设定转发前缀
                if one_msg.member:
                    the_sender='群[%s]中的 @%s '%(one_msg.chat.name,one_msg.member.name)
                else:
                    the_sender=one_msg.chat.name
                # 不是名片时,直接用forward转发到文件助手
                if one_msg.type!='Card':
                    one_msg.forward(bot.file_helper, prefix='%s\n撤回了一条%s消息:'%(the_sender,one_msg.type))
                else:
                    card=one_msg.card
                    name = card.name
                    if card.sex == 1:
                        sex = '男'
                    else:
                        sex = '女'
                    bot.file_helper.send('%s\n撤回了一张名片:\n名称:%s,性别:%s'%(the_sender , name,sex))

 

你可能感兴趣的:(python利用wxpy,登录微信)