一個需求
需要利用Python+第三方庫wxauto 用於微信上自動獲取聊天信息,從而根據自己需求對信息自動進行二次處理,
比如自動回復,再比如自動發送文件或者其他。
--- 記錄於2022年08月
使用Python3的第三方庫wxauto
, 它適用於Windows的微信客戶端
官網: https://github.com/cluic/wxauto
*這篇是微信自動化工具開發系列的第五篇
代碼的主要功能:
Python自動根據微信群或者微信好友的信息自動回復
比如: 有人在群裡自動發了
@223
,自動回復aaa
注:wxauto.py裡面的第252行進行修改,否則運行會報錯
微信版本 3.7.5.23 更新導致的問題
需進行下面的修改來進行修復,修改第252行為:
copydata = COPYDICT[i].replace(b'<EditElement type="0" pasteType="0"><![CDATA[ ]]>', key.encode()).replace(b'type="0"', b'type="3"')
這邊使用
wxauto
來進行開發,而不是itchat
,原因如下
itchat
都是之前的教程,
本質上是用的微信的網頁端的接口來進行數據交互的。
如果你想要使用itchat
的代碼的話,
https://wx.qq.com/
騰訊官方雖然沒有正式的發表聲明,但是你搜一下可以看到相關信息
大概從去年開始(時間不太確定),大部分微信賬號都不可以繼續登錄微信網頁端,只有少部分賬號還可以登錄。
原因未知。
itchat
的代碼來學習運行下,如果登錄失敗,那麼或許你可以嘗試下wxauto
也就是這裡所說的方法來運行下。
Windows 10
Python 3.8.10
Windows 10的微信客戶端版本:3.7.5.23 (中文版本)
注:微信客戶端中文版跟英文版都可以
沒什麼太大區別。建議使用中文版本,英文版本現在微信更新後出現了Bug.
安裝Python3的第三方庫
wxauto
,具體步驟如下
官網: https://github.com/cluic/wxauto
在cmd窗口執行下面命令進行安裝
wxauto
python3 --version
python3 -m pip install wxauto -i https://pypi.tuna.tsinghua.edu.cn/simple
wxauto
是否安裝成功python3 -c "import wxauto; print(wxauto.VERSION)"
自己修改裡面的配置
from wxauto import *
import time
# 獲取當前微信客戶端
wx = WeChat()
# 獲取會話列表
wx.GetSessionList()
###############################
# 1、獲取默認窗口聊天信息
###############################
def reply_message_if_send_key_word(user, key_word, reply_message):
# 默認是微信窗口當前選中的窗口
# 輸出當前聊天窗口聊天消息
wx.ChatWith(user)
# 獲取最近的聊天記錄
#wx.LoadRecentMessage(1)
wx.LoadRecentMessage(1)
msgs = wx.GetAllMessage
message_value = [msg[1] for msg in msgs]
for index, msg in enumerate(msgs):
if msg[1] ==key_word:
print("*"*20)
if reply_message not in message_value[index:]:
print(f"收到關鍵詞{
key_word},將自動回復以下語句:{
reply_message}")
wx.SendMsg(reply_message)
else:
print("上面已回復,不再進行自動回復,等待新的關鍵詞")
print("*"*20)
if __name__ == '__main__':
user = '什麼'
key_word = '@223'
reply_message = 'aaa'
while True:
reply_message_if_send_key_word(user=user, key_word=key_word, reply_message=reply_message)
time.sleep(1)
Settings
-> General
切換為中文)打開cmd窗口,在cmd窗口執行:
如果沒有安裝第三方庫,參考上面的
安裝
步驟進行安裝再執行下面命令
cd E:\2022Python # 修改為你的 main05.py所在路徑
python3 main05.py
cmd窗口輸出結果為:
PS E:\2022Python> python3 main05.py
********************
上面已回復,不再進行自動回復,等待新的關鍵詞
********************
********************
上面已回復,不再進行自動回復,等待新的關鍵詞
********************
********************
收到關鍵詞@223,將自動回復以下語句:aaa
這邊剛開始寫一下系列文章,想發展下自己的博客和微信公眾號賬號
如果對你有幫助,方便的話可以關注下 博客左側的微信公眾號(點擊我的頭像進入個人中心,位於左側下方)
如有問題的話,也可通過公眾號直接留言,這邊有微信提醒,可以幾小時內及時回復
也可直接在CSDN博客留言或者私信留言,這個沒有微信提醒,所以這邊可能一天或者幾天內給回復
微信公眾號所在位置:打開
個人中心
也就是這個鏈接
https://blog.csdn.net/xiaozi_001?type=blog
左側下方
如有需求,
想要對微信進行一些自動化操作來提高效率:
比如
自動群發不同聊天信息到幾個微信群裡
自動群發不同的圖片到幾個微信群裡
自動群發不同的文件到幾個微信群裡
如果你本身懂代碼的話, 直接看第三方庫
wxauto
的使用,自己來寫就可以了,博客後續也會基於這個系列繼續更新。
歡迎點贊留言提出問題,方便的話 點贊收藏 關注下微信公眾號
只是想要一個簡單的微信處理工具來滿足自己的需求的話
可以微信公眾號留言或者私信留言,
發下你的具體需求,這邊後續根據你的需求進行下二次開發
如有需求,可關注下博客左側的微信公眾號留言或者直接私信留言
前者可以幾小時內及時回復
後者可能看的不及時,大概一天或者幾天內有回復
如有問題 歡迎提出
如有疑問 歡迎留言
如有作用 歡迎點贊
如有失效 歡迎留言
2022年08月 可用