這篇文章將為大家詳細講解有關PyWeChatSpy實現微信拍一拍功能,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
前不久微信上線了拍一拍功能,剛推出就被有才的網友玩壞了。

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

2、安裝2.8.0.133版本的PC微信客戶端(https://share.weiyun.com/5AwuXRG)
3、安裝Python3.8.3_x64 32位系統(https://www.python.org/ftp/python/3.8.3/python-3.8.3-amd64.exe)的同學可以去官網自行下載32位安裝包

4、打開cmd 輸入pip install PyWeChatSpy 回車執行

5、這時候需要我們編碼了,先新建一個app.py文件
先引入PyWeChatSpy模塊、正則re模塊和隨機random模塊 re用于匹配消息內容,random用于隨機選取回復圖片
from PyWeChatSpy import WeChatSpy import random import re
接著定義一個回復處理函數my_parser
def my_parser(data): pass
然后實例化一個WeChatSpy類
spy = WeChatSpy(parser=my_parser)
最后編寫my_parser函數處理邏輯
if data["type"] == 5: # 判斷是微信消息數據
for msg in data["data"]: # 遍歷微信消息
if msg["msg_type"] == 10000: # 判斷是微信拍一拍系統提示
# 因為微信系統消息很多 因此需要用正則匹配消息內容進一步過濾拍一拍提示
# {'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" # 隨機選一張回復用的圖片
spy.send_file(msg["wxid1"], image_path) # 發送圖片 運行代碼
if __name__ == '__main__': spy.run() # 運行代碼
大功告成 這時候如果再有人拍你 無論是群聊還是私聊都會自動回復設置好的圖片

整體代碼如下:
from PyWeChatSpy import WeChatSpy
import random
import re
def my_parser(data):
if data["type"] == 5: # 判斷是微信消息數據
for msg in data["data"]: # 遍歷微信消息
if msg["msg_type"] == 10000: # 判斷是微信拍一拍系統提示
# 因為微信系統消息很多 因此需要用正則匹配消息內容進一步過濾拍一拍提示
# {'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" # 隨機選一張回復用的圖片
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 暫不支持中文路徑
關于PyWeChatSpy實現微信拍一拍功能就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。