10分鐘教你用Python實現微信自動回覆
阿新 • • 發佈:2019-02-08
01 前言&&效果展示
相信大家都有忙碌的時候,不可能一直守在微信上及時回覆訊息。但微信又不能像QQ一樣設定自動回覆。無妨,今天,我們就來用Python實現微信的自動回覆功能吧,並且把接收到的訊息統一發送到檔案助手裡面,方便統一檢視。
效果如下:
02 環境準備
Python版本:3.6.0
系統平臺:Windows 10 X64
IDE:pycharm
相關模組:
time模組;
itchat模組;
以及一些Python自帶的模組。
03 實現原理
其實原理很簡單,主要是利用itchat登入微信後,註冊訊息方法。itchat將根據接收到的訊息型別尋找對應的已經註冊的方法。如果一個訊息型別沒有對應的註冊方法,該訊息將會被捨棄。在這裡我們主要註冊的是文字型別的訊息方法。然後判斷訊息來源,如果不是自己發出的訊息,則將訊息轉發到檔案助手,然後自動回覆對方。程式碼如下:
1# 自動回覆
2# 封裝好的裝飾器,當接收到的訊息是Text,即文字訊息
3# 註冊訊息響應事件,訊息型別為'Text',即文字訊息
4@itchat.msg_register('Text')
5def text_reply(msg):
6 # 當訊息不是由自己發出的時候
7 if not msg['FromUserName'] == myUserName:
8 # 傳送一條提示給檔案助手
9 itchat.send_msg(u"[%s]收到好友@%s 的資訊:%s\n" %
10 (time.strftime("%Y-%m-%d %H:%M:%S" , time.localtime(msg['CreateTime'])),
11 msg['User']['NickName'],
12 msg['Text']), 'filehelper')
13 # 回覆給好友
14 return '[自動回覆]您好,我現在有事不在,一會再和您聯絡。\n已經收到您的的資訊:%s\n' % (msg['Text'])
轉到檔案助手的時候,注意把時間什麼的新增上去。看上去效果更好。
04 後臺登入
然後就可以把我們的微信掛在後臺自動回覆了。注意執行的時候獲取一下自己的微信名,以便用來判斷訊息是不是自己發出的。
1if __name__ == '__main__':
2 itchat.auto_login()
3
4 # 獲取自己的UserName
5 myUserName = itchat.get_friends(update=True)[0]["UserName"]
6 itchat.run()
好啦,是不是很簡單呢?
05 完整程式碼
欲獲取程式碼,請關注我們的微信公眾號【程式猿聲】,在後臺回覆:pycode01。即可獲取。
微信公眾號