当前位置: 首页 > 科技观察

如何通过Python自动回复微信表情包?

时间:2023-03-18 16:45:38 科技观察

前不久,微信上线了拍一拍功能,但一上线就被有才的网友毁了。还有更多无良的拍摄手法,这里就不一一展示了。但拍一拍是一种弱提醒,只能在聊天界面中才能感受到。如果不在微信界面,被拍到将无法及时回复。在这里我将介绍如何使用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':'"Mandy的小脑袋"拍拍你"}m=re.search('".*"拍拍you',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:#判断为微信消息数据formsgindata["data"]:#遍历微信消息ifmsg["msg_type"]==10000:#判断是微信拍下系统提示#由于微信系统消息较多,需要通过正则匹配进一步过滤消息内容拍拍提醒#{'self':0,'msg_type':10000,'wxid1':'179xxxxxx72@chatroom','content':'"Mandy的小脑袋"拍了拍你'}m=re.search('".*"给你拍个照',msg["content"])ifm:#找到匹配的字符串,判断为图片_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的地方应该是与图片折叠一致er,否则无法正确回复,比如图片路径D:\images,app.py存放路径为D:\app.py,暂时不支持中文路径。