使用PyWeChatSpy自動回復(fù)微信拍一拍功能的實(shí)現(xiàn)代碼

前不久微信上線了拍一拍功能,剛推出就被有才的網(wǎng)友玩壞了。

還有更多沒有節(jié)操的拍法這里就不展示了。
但拍一拍屬于弱提示,只有在聊天界面才能感受到。如果不在微信界面,被人拍了沒辦法及時(shí)回應(yīng),這里給大家介紹一下如何使用PyWeChatSpy(https://github.com/veikai/PyWeChatSpy)來用表情包回應(yīng)拍一拍。
1、首先我們準(zhǔn)備一些表情圖,這里我選了沙雕熊貓頭

2、安裝2.8.0.133版本的PC微信客戶端(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、打開cmd 輸入pip install PyWeChatSpy 回車執(zhí)行

5、這時(shí)候需要我們編碼了,先新建一個app.py文件
先引入PyWeChatSpy模塊、正則re模塊和隨機(jī)random模塊 re用于匹配消息內(nèi)容,random用于隨機(jī)選取回復(fù)圖片
from PyWeChatSpy import WeChatSpy import random import re
接著定義一個回復(fù)處理函數(shù)my_parser
def my_parser(data): pass
然后實(shí)例化一個WeChatSpy類
spy = WeChatSpy(parser=my_parser)
最后編寫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)一步過濾拍一拍提示
# {'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í)候如果再有人拍你 無論是群聊還是私聊都會自動回復(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)一步過濾拍一拍提示
# {'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類
if __name__ == '__main__':
spy.run() # 運(yùn)行代碼
app.py存放的地方要和圖片文件夾一致,否則無法正確回復(fù),如圖片路徑D:\images,app.py存放路徑為D:\app.py 暫不支持中文路徑
到此這篇關(guān)于使用PyWeChatSpy自動回復(fù)微信拍一拍功能的文章就介紹到這了,更多相關(guān)PyWeChatSpy自動回復(fù)微信拍一拍內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)向QQ群成員自動發(fā)郵件的方法
這篇文章主要介紹了Python實(shí)現(xiàn)向QQ群成員自動發(fā)郵件的方法,通過讀取txt文本里的QQ成員數(shù)據(jù)再調(diào)用發(fā)送郵件函數(shù)實(shí)現(xiàn)該功能,是非常實(shí)用的技巧,需要的朋友可以參考下2014-11-11
利用python生成一個導(dǎo)出數(shù)據(jù)庫的bat腳本文件的方法
下面小編就為大家?guī)硪黄胮ython生成一個導(dǎo)出數(shù)據(jù)庫的bat腳本文件的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-12-12
Python讀寫二進(jìn)制文件的實(shí)現(xiàn)
本文主要介紹了Python讀寫二進(jìn)制文件的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
Python實(shí)現(xiàn)的堆排序算法原理與用法實(shí)例分析
這篇文章主要介紹了Python實(shí)現(xiàn)的堆排序算法,簡單描述了堆排序的原理,并結(jié)合實(shí)例形式分析了Python實(shí)現(xiàn)堆排序的相關(guān)操作技巧,代碼中備有較為詳細(xì)的注釋便于理解,需要的朋友可以參考下2017-11-11
利用Python將原始邊列表轉(zhuǎn)換為鄰接矩陣的過程
有時(shí)候,我們會從外部數(shù)據(jù)源中得到原始的邊列表,而需要將其轉(zhuǎn)換為鄰接矩陣以便進(jìn)行后續(xù)的分析和處理,本文將介紹如何使用Python來實(shí)現(xiàn)這一轉(zhuǎn)換過程,需要的朋友可以參考下2024-04-04
vscode配置與python虛擬環(huán)境切換的幾種方式總結(jié)
Python之所以強(qiáng)大,除了語言本身的特性外,更重要的是擁有無所不及的第三方庫,下面這篇文章主要給大家介紹了關(guān)于vscode配置與python虛擬環(huán)境切換的幾種方式,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12

