使用PyWeChatSpy自動(dòng)回復(fù)微信拍一拍功能的實(shí)現(xiàn)代碼
前不久微信上線了拍一拍功能,剛推出就被有才的網(wǎng)友玩壞了。
還有更多沒(méi)有節(jié)操的拍法這里就不展示了。
但拍一拍屬于弱提示,只有在聊天界面才能感受到。如果不在微信界面,被人拍了沒(méi)辦法及時(shí)回應(yīng),這里給大家介紹一下如何使用PyWeChatSpy(https://github.com/veikai/PyWeChatSpy)來(lái)用表情包回應(yīng)拍一拍。
1、首先我們準(zhǔn)備一些表情圖,這里我選了沙雕熊貓頭
2、安裝2.8.0.133版本的PC微信客戶(hù)端(https://share.weiyun.com/5AwuXRG)
3、安裝Python3.8.3_x64 32位系統(tǒng)(https://www.python.org/ftp/python/3.8.3/python-3.8.3-amd64.exe)的同學(xué)可以去官網(wǎng)自行下載32位安裝包
4、打開(kāi)cmd 輸入pip install PyWeChatSpy 回車(chē)執(zhí)行
5、這時(shí)候需要我們編碼了,先新建一個(gè)app.py文件
先引入PyWeChatSpy模塊、正則re模塊和隨機(jī)random模塊 re用于匹配消息內(nèi)容,random用于隨機(jī)選取回復(fù)圖片
from PyWeChatSpy import WeChatSpy import random import re
接著定義一個(gè)回復(fù)處理函數(shù)my_parser
def my_parser(data): pass
然后實(shí)例化一個(gè)WeChatSpy類(lèi)
spy = WeChatSpy(parser=my_parser)
最后編寫(xiě)my_parser函數(shù)處理邏輯
if data["type"] == 5: # 判斷是微信消息數(shù)據(jù) for msg in data["data"]: # 遍歷微信消息 if msg["msg_type"] == 10000: # 判斷是微信拍一拍系統(tǒng)提示 # 因?yàn)槲⑿畔到y(tǒng)消息很多 因此需要用正則匹配消息內(nèi)容進(jìn)一步過(guò)濾拍一拍提示 # {'self': 0, 'msg_type': 10000, 'wxid1': '179xxxxxx72@chatroom', 'content': '"Mandy的小腦袋" 拍了拍你'} m = re.search('".*" 拍了拍你', msg["content"]) if m: # 搜索到了匹配的字符串 判斷為拍一拍 image_path = f"images/{random.randint(1, 7)}.jpg" # 隨機(jī)選一張回復(fù)用的圖片 spy.send_file(msg["wxid1"], image_path) # 發(fā)送圖片
運(yùn)行代碼
if __name__ == '__main__': spy.run() # 運(yùn)行代碼
大功告成 這時(shí)候如果再有人拍你 無(wú)論是群聊還是私聊都會(huì)自動(dòng)回復(fù)設(shè)置好的圖片
整體代碼如下:
from PyWeChatSpy import WeChatSpy import random import re def my_parser(data): if data["type"] == 5: # 判斷是微信消息數(shù)據(jù) for msg in data["data"]: # 遍歷微信消息 if msg["msg_type"] == 10000: # 判斷是微信拍一拍系統(tǒng)提示 # 因?yàn)槲⑿畔到y(tǒng)消息很多 因此需要用正則匹配消息內(nèi)容進(jìn)一步過(guò)濾拍一拍提示 # {'self': 0, 'msg_type': 10000, 'wxid1': '179xxxxxx72@chatroom', 'content': '"Mandy的小腦袋" 拍了拍你'} m = re.search('".*" 拍了拍你', msg["content"]) if m: # 搜索到了匹配的字符串 判斷為拍一拍 image_path = f"images/{random.randint(1, 7)}.jpg" # 隨機(jī)選一張回復(fù)用的圖片 spy.send_file(msg["wxid1"], image_path) # 發(fā)送圖片 spy = WeChatSpy(parser=my_parser) # 實(shí)例化WeChatSpy類(lèi) if __name__ == '__main__': spy.run() # 運(yùn)行代碼
app.py存放的地方要和圖片文件夾一致,否則無(wú)法正確回復(fù),如圖片路徑D:\images,app.py存放路徑為D:\app.py 暫不支持中文路徑
到此這篇關(guān)于使用PyWeChatSpy自動(dòng)回復(fù)微信拍一拍功能的文章就介紹到這了,更多相關(guān)PyWeChatSpy自動(dòng)回復(fù)微信拍一拍內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于Python 3中print函數(shù)的換行詳解
最近在學(xué)習(xí)python3,發(fā)現(xiàn)了一個(gè)問(wèn)題想著總結(jié)出來(lái),所以下面這篇文章主要給大家介紹了關(guān)于Python 3中print函數(shù)換行的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)需要的朋友們具有一定的參考學(xué)習(xí)價(jià)值,感興趣的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-08-08python項(xiàng)目以docker形式打包部署詳細(xì)流程
Docker是一個(gè)開(kāi)源項(xiàng)目,為開(kāi)發(fā)人員和系統(tǒng)管理員提供了一個(gè)開(kāi)放平臺(tái),可以將應(yīng)用程序構(gòu)建、打包為一個(gè)輕量級(jí)容器,并在任何地方運(yùn)行,這篇文章主要給大家介紹了關(guān)于python項(xiàng)目以docker形式打包部署的詳細(xì)流程,需要的朋友可以參考下2024-08-08python實(shí)現(xiàn)列表中最大最小值輸出的示例
今天小編就為大家分享一篇python實(shí)現(xiàn)列表中最大最小值輸出的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07淺談sklearn中predict與predict_proba區(qū)別
這篇文章主要介紹了淺談sklearn中predict與predict_proba區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06python實(shí)現(xiàn)布隆過(guò)濾器及原理解析
布隆過(guò)濾器( BloomFilter )是一種數(shù)據(jù)結(jié)構(gòu),比較巧妙的概率型數(shù)據(jù)結(jié)構(gòu)(probabilistic data structure),特點(diǎn)是高效地插入和查詢(xún),可以用來(lái)告訴你 “某樣?xùn)|西一定不存在或者可能存在”。這篇文章主要介紹了python實(shí)現(xiàn)布隆過(guò)濾器 ,需要的朋友可以參考下2019-12-12Python+matplotlib實(shí)現(xiàn)折線圖的美化
這篇文章主要和大家分享一個(gè)非常有趣的Python教程—如何美化一個(gè)?matplotlib折線圖。文中的示例代碼講解詳細(xì),感興趣的可以了解一下2022-05-05python實(shí)現(xiàn)按行切分文本文件的方法
這篇文章主要介紹了python實(shí)現(xiàn)按行切分文本文件的方法,涉及Python利用shell命令操作文本文件的相關(guān)技巧,需要的朋友可以參考下2016-04-04