前不久,微信推出了拍一拍功能,但一上线就被有才华的网友破解了。还有更多无良的拍摄手法,这里就不一一展示了。但拍一拍是一种弱提醒,只能在聊天界面中才能感受到。如果不在微信界面,被拍到将无法及时回复。在这里我将介绍如何使用PyWeChatSpy(https://github.com/veikai/PyWeChatSpy)来响应带有表情符号的照片。1.首先,我们准备一些表情包。这里我选择了一只沙雕熊猫的头像。2、安装PC端微信客户端2.8.0.133版本(https://share.weiyun.com/5AwuXRG)3、安装Python3.8.3_x6432位系统(https://www.python.org/ftp/python/3.8.3/python-3.8.3-amd64.exe)同学们可以去官网下载32位的安装包4.打开cmd输入pipinstallPyWeChatSpy返回Car执行5.这时候我们需要编码。首先,创建一个新的app.py文件。首先,导入PyWeChatSpy模块、regularre模块和random随机模块。Functionmy_parserdefmy_parser(data):pass然后实例化一个WeChatSpy类spy=WeChatSpy(parser=my_parser)最后写my_parser函数处理逻辑ifdata["type"]==5:#判断是微信消息数据形式gindata["data"]:#遍历微信消息ifmsg["msg_type"]==10000:#判断是微信pat系统提示#由于微信系统消息较多,需要使用正则匹配消息内容进一步过滤pat提示#{'self':0,'msg_type':10000,'wxid1':'179xxxxxx72@chatroom','content':'"小曼的小脑袋"拍了你"}m=re.search('".*"拍了你',msg["content"])ifm:#找到匹配的字符串,判断为shotimage_path=f"images/{random.randint(1,7)}.jpg"#随机选择一张图片进行回复spy.send_file(msg["wxid1"],image_path)#发送图片并运行代码if__name__=='__main__':spy.run()#运行代码,大功告成。这时候如果有人拍你,不管是群聊还是私聊,都会自动回复设置好的图片。整体代码如下:fromPyWeChatSpyimportWeChatSpyimportrandomimportredefmy_parser(data):ifdata["type"]==5:#判断是微信消息数据形式gindata["data"]:#遍历微信消息ifmsg["msg_type"]==10000:#判断是微信拍一拍系统提示#因为微信系统消息较多,需要使用正则模式进一步过滤消息内容拍一拍#{'self':0,'msg_type':10000,'wxid1':'179xxxxxx72@chatroom','content':'"Mandy的小脑袋"拍了拍你'}m=re.search('".*"给你拍照',msg["content"])ifm:#找到匹配的字符串,判断为shotimage_path=f"images/{random.randint(1,7)}.jpg"#随机选择一张图片回复spy.send_file(msg["wxid1"],image_path)#发送图片spy=WeChatSpy(parser=my_parser)#实例化WeChatSpy类if__name__=='__main__':spy.run()#运行代码app.py存放的地方要和图片文件夹一致,否则无法正确回复,比如图片路径D:\images,app.py存放路径为D:\app.py暂不支持中文路径
