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。即可獲取。

微信公眾號微信公眾號


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM