1. 程式人生 > >10分鐘教你用Python實現微信自動回覆

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',即文字訊息
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。即可獲取。

微信公眾號微信公眾號