10分鐘教你用Python實現微信自動回覆
01 前言&&效果展示
相信大家都有忙碌的時候,不可能一直守在微信上及時回覆訊息。但微信又不能像QQ一樣設定自動回覆。無妨,今天,我們就來用Python實現微信的自動回覆功能吧,並且把接收到的訊息統一發送到檔案助手裡面,方便統一檢視。
效果如下:


02 環境準備
Python版本:3.6.0
系統平臺:Windows 10 X64
IDE:pycharm
相關模組:
time模組;
itchat模組;
以及一些Python自帶的模組。
03 實現原理
其實原理很簡單,主要是利用itchat登入微信後,註冊訊息方法。itchat將根據接收到的訊息型別尋找對應的已經註冊的方法。如果一個訊息型別沒有對應的註冊方法,該訊息將會被捨棄。在這裡我們主要註冊的是文字型別的訊息方法。然後判斷訊息來源,如果不是自己發出的訊息,則將訊息轉發到檔案助手,然後自動回覆對方。程式碼如下:
1# 自動回覆 2# 封裝好的裝飾器,當接收到的訊息是Text,即文字訊息 3# 註冊訊息響應事件,訊息型別為'Text',即文字訊息 [email protected]_register('Text') 5def text_reply(msg): 6# 當訊息不是由自己發出的時候 7if not msg['FromUserName'] == myUserName: 8# 傳送一條提示給檔案助手 9itchat.send_msg(u"[%s]收到好友@%s 的資訊:%s\n" % 10(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(msg['CreateTime'])), 11msg['User']['NickName'], 12msg['Text']), 'filehelper') 13# 回覆給好友 14return '[自動回覆]您好,我現在有事不在,一會再和您聯絡。\n已經收到您的的資訊:%s\n' % (msg['Text'])
轉到檔案助手的時候,注意把時間什麼的新增上去。看上去效果更好。
04 後臺登入
然後就可以把我們的微信掛在後臺自動回覆了。注意執行的時候獲取一下自己的微信名,以便用來判斷訊息是不是自己發出的。
1if __name__ == '__main__': 2itchat.auto_login() 3 4# 獲取自己的UserName 5myUserName = itchat.get_friends(update=True)[0]["UserName"] 6itchat.run()

好啦,是不是很簡單呢?
05 完整程式碼
欲獲取程式碼,請關注我們的微信公眾號【程式猿聲】,在後臺回覆: pycode01 。即可獲取。

微信公眾號