Python 微信自动化工具开发系列05_根据用户信息自动回复(2022年10月可用)
前言
一個(gè)需求需要利用Python+第三方庫(kù)wxauto 用于微信上自動(dòng)獲取聊天信息,從而根據(jù)自己需求對(duì)信息自動(dòng)進(jìn)行二次處理, 比如自動(dòng)回復(fù),再比如自動(dòng)發(fā)送文件或者其他。--- 記錄于2022年08月--- 2022年10月再次測(cè)試可用使用Python3的第三方庫(kù)wxauto, 它適用于Windows的微信客戶端
官網(wǎng): https://github.com/cluic/wxauto
功能
*這篇是微信自動(dòng)化工具開發(fā)系列的第五篇
代碼的主要功能:
-
Python自動(dòng)根據(jù)微信群或者微信好友的信息自動(dòng)回復(fù)
比如: 有人在群里自動(dòng)發(fā)了@223,自動(dòng)回復(fù)aaa
注:wxauto.py里面的第252行進(jìn)行修改,否則運(yùn)行會(huì)報(bào)錯(cuò)
微信版本 3.7.5.23 更新導(dǎo)致的問題
需進(jìn)行下面的修改來進(jìn)行修復(fù),修改第252行為:
copydata = COPYDICT[i].replace(b'<EditElement type="0" pasteType="0"><![CDATA[ ]]>', key.encode()).replace(b'type="0"', b'type="3"')原因
這邊使用wxauto來進(jìn)行開發(fā),而不是itchat,原因如下
itchat都是之前的教程,
本質(zhì)上是用的微信的網(wǎng)頁(yè)端的接口來進(jìn)行數(shù)據(jù)交互的。
如果你想要使用itchat的代碼的話,
- 1、先測(cè)試下你的賬號(hào)是否還可以登錄微信網(wǎng)頁(yè)端
https://wx.qq.com/
騰訊官方雖然沒有正式的發(fā)表聲明,但是你搜一下可以看到相關(guān)信息
大概從去年開始(時(shí)間不太確定),大部分微信賬號(hào)都不可以繼續(xù)登錄微信網(wǎng)頁(yè)端,只有少部分賬號(hào)還可以登錄。
原因未知。
- 2、如果可以登錄微信網(wǎng)頁(yè)版 那么你可以關(guān)閉這個(gè)博客去網(wǎng)上找下itchat的代碼來學(xué)習(xí)運(yùn)行下,
如果登錄失敗,那么或許你可以嘗試下wxauto也就是這里所說的方法來運(yùn)行下。
環(huán)境
Windows 10 Python 3.8.10 Windows 10的微信客戶端版本:3.7.5.23 (中文版本)注:微信客戶端中文版跟英文版都可以
沒什么太大區(qū)別。
建議使用中文版本,英文版本現(xiàn)在微信更新后出現(xiàn)了Bug.
安裝
安裝Python3的第三方庫(kù)wxauto,具體步驟如下
官網(wǎng): https://github.com/cluic/wxauto
在cmd窗口執(zhí)行下面命令進(jìn)行安裝
- 安裝第三方庫(kù)wxauto
- 查看wxauto是否安裝成功
使用步驟
1. 新建main05.py
自己修改里面的配置
from wxauto import * import time# 獲取當(dāng)前微信客戶端 wx = WeChat()# 獲取會(huì)話列表 wx.GetSessionList()############################### # 1、獲取默認(rèn)窗口聊天信息 ############################### def reply_message_if_send_key_word(user, key_word, reply_message):# 默認(rèn)是微信窗口當(dāng)前選中的窗口# 輸出當(dāng)前聊天窗口聊天消息wx.ChatWith(user)# 獲取最近的聊天記錄#wx.LoadRecentMessage(1)wx.LoadRecentMessage(1)msgs = wx.GetAllMessagemessage_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"收到關(guān)鍵詞{key_word},將自動(dòng)回復(fù)以下語句:{reply_message}")wx.SendMsg(reply_message) else:print("上面已回復(fù),不再進(jìn)行自動(dòng)回復(fù),等待新的關(guān)鍵詞")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)2. 打開微信
- windows10下打開微信客戶端 (注:如果用的英文,記得點(diǎn)擊左下角Settings-> General 切換為中文)
- 正常掃碼登錄
- 打開微信窗口到前面,不要最小化或者縮小到底部菜單
3. 執(zhí)行代碼
打開cmd窗口,在cmd窗口執(zhí)行:
如果沒有安裝第三方庫(kù),參考上面的安裝步驟進(jìn)行安裝再執(zhí)行下面命令
cd E:\2022Python # 修改為你的 main05.py所在路徑 python3 main05.py4. 輸出
cmd窗口輸出結(jié)果為:
PS E:\2022Python> python3 main05.py******************** 上面已回復(fù),不再進(jìn)行自動(dòng)回復(fù),等待新的關(guān)鍵詞 ******************** ******************** 上面已回復(fù),不再進(jìn)行自動(dòng)回復(fù),等待新的關(guān)鍵詞 ******************** ******************** 收到關(guān)鍵詞@223,將自動(dòng)回復(fù)以下語句:aaa后續(xù)
這邊剛開始寫一下系列文章,想發(fā)展下自己的博客和微信公眾號(hào)賬號(hào)
如果對(duì)你有幫助,方便的話可以關(guān)注下 博客左側(cè)的微信公眾號(hào)(點(diǎn)擊我的頭像進(jìn)入個(gè)人中心,位于左側(cè)下方)
如有問題的話,也可通過公眾號(hào)直接留言,這邊有微信提醒,可以幾小時(shí)內(nèi)及時(shí)回復(fù)
也可直接在CSDN博客留言或者私信留言,這個(gè)沒有微信提醒,所以這邊可能一天或者幾天內(nèi)給回復(fù)
微信公眾號(hào)所在位置:打開個(gè)人中心也就是這個(gè)鏈接
https://blog.csdn.net/xiaozi_001?type=blog
左側(cè)下方
如有需求,
想要對(duì)微信進(jìn)行一些自動(dòng)化操作來提高效率:
比如
-
自動(dòng)群發(fā)不同聊天信息到幾個(gè)微信群里
-
自動(dòng)群發(fā)不同的圖片到幾個(gè)微信群里
-
自動(dòng)群發(fā)不同的文件到幾個(gè)微信群里
- 如果你本身懂代碼的話
如果你本身懂代碼的話, 直接看第三方庫(kù)wxauto的使用,自己來寫就可以了,
博客后續(xù)也會(huì)基于這個(gè)系列繼續(xù)更新。
歡迎點(diǎn)贊留言提出問題,方便的話 點(diǎn)贊收藏 關(guān)注下微信公眾號(hào)
- 如果你本身不懂代碼
只是想要一個(gè)簡(jiǎn)單的微信處理工具來滿足自己的需求的話
可以微信公眾號(hào)留言或者私信留言,
發(fā)下你的具體需求,這邊后續(xù)根據(jù)你的需求進(jìn)行下二次開發(fā)
如有需求,可關(guān)注下博客左側(cè)的微信公眾號(hào)留言或者直接私信留言
前者可以幾小時(shí)內(nèi)及時(shí)回復(fù)
后者可能看的不及時(shí),大概一天或者幾天內(nèi)有回復(fù)
其他
如有問題 歡迎提出
如有疑問 歡迎留言
如有作用 歡迎點(diǎn)贊
如有失效 歡迎留言
2022年10月 可用
總結(jié)
以上是生活随笔為你收集整理的Python 微信自动化工具开发系列05_根据用户信息自动回复(2022年10月可用)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 福布斯评科技未来五大趋势:电脑消失融入生
- 下一篇: PureMVC(AS3)剖析:设计模式(