用 PyWeChatSpy 自動回覆微信拍一拍

你們好,我是村長,  爲了感謝您一直以來的關注與支持,給你們送了點福利!python

每週三都會送免費送技術書!您有哪方面技術書籍的需求,也能夠微信告訴我~~後臺回覆 送書 參與領書!git

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

 

還有更多沒有節操的拍法這裏就不展現了。編程

但拍一拍屬於弱提示,只有在聊天界面才能感覺到。若是不在微信界面,被人拍了沒辦法及時迴應,這裏給你們介紹一下如何使用PyWeChatSpy(https://github.com/veikai/PyWeChatSpy)來用表情包迴應拍一拍。微信

一、首先咱們準備一些表情圖,這裏我選了沙雕熊貓頭app

二、安裝2.8.0.133版本的PC微信客戶端(https://share.weiyun.com/5AwuXRGecharts

三、安裝Python3.8.3_x64 32位系統(https://www.python.org/ftp/python/3.8.3/python-3.8.3-amd64.exe)的同窗能夠去官網自行下載32位安裝包dom

四、打開cmd 輸入pip install PyWeChatSpy 回車執行函數

五、這時候須要咱們編碼了,先新建一個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(17)}.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(17)}.jpg"  # 隨機選一張回覆用的圖片                     spy.send_file(msg["wxid1"], image_path)  # 發送圖片 spy = WeChatSpy(parser=my_parser)  # 實例化WeChatSpy類 if __name__ == '__main__':     spy.run()  # 運行代碼 

app.py 存放的地方要和圖片文件夾一致,不然沒法正確回覆,且圖片地址要寫成絕對路徑

 

推薦閱讀

【硬核】理解Python協程的本質

利用 Django 動態展現 Pyecharts 圖表數據的幾種方法

本文分享自微信公衆號 - Python編程與實戰(GoPy1024)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索