01 前言&&效果展示
相信大家都有忙碌的時(shí)候,不可能一直守在微信上及時(shí)回復(fù)消息。但微信又不能像QQ一樣設(shè)置自動(dòng)回復(fù)。無妨,今天,我們就來用Python實(shí)現(xiàn)微信的自動(dòng)回復(fù)功能吧,并且把接收到的消息統(tǒng)一發(fā)送到文件助手里面,方便統(tǒng)一查看。
效果如下:
02 環(huán)境準(zhǔn)備
Python版本:3.6.0
系統(tǒng)平臺(tái):Windows 10 X64
IDE:pycharm
相關(guān)模塊:
time模塊;
itchat模塊;
以及一些Python自帶的模塊。
03 實(shí)現(xiàn)原理
其實(shí)原理很簡(jiǎn)單,主要是利用itchat登錄微信后,注冊(cè)消息方法。itchat將根據(jù)接收到的消息類型尋找對(duì)應(yīng)的已經(jīng)注冊(cè)的方法。如果一個(gè)消息類型沒有對(duì)應(yīng)的注冊(cè)方法,該消息將會(huì)被舍棄。在這里我們主要注冊(cè)的是文字類型的消息方法。然后判斷消息來源,如果不是自己發(fā)出的消息,則將消息轉(zhuǎn)發(fā)到文件助手,然后自動(dòng)回復(fù)對(duì)方。代碼如下:
# 自動(dòng)回復(fù) # 封裝好的裝飾器,當(dāng)接收到的消息是Text,即文字消息 # 注冊(cè)消息響應(yīng)事件,消息類型為'Text',即文本消息 @itchat.msg_register('Text') def text_reply(msg): # 當(dāng)消息不是由自己發(fā)出的時(shí)候 if not msg['FromUserName'] == myUserName: # 發(fā)送一條提示給文件助手 itchat.send_msg(u"[%s]收到好友@%s 的信息:%s/n" % (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(msg['CreateTime'])), msg['User']['NickName'], msg['Text']), 'filehelper') # 回復(fù)給好友 return '[自動(dòng)回復(fù)]您好,我現(xiàn)在有事不在,一會(huì)再和您聯(lián)系。/n已經(jīng)收到您的的信息:%s/n' % (msg['Text'])
轉(zhuǎn)到文件助手的時(shí)候,注意把時(shí)間什么的添加上去。看上去效果更好。
04 后臺(tái)登錄
然后就可以把我們的微信掛在后臺(tái)自動(dòng)回復(fù)了。注意運(yùn)行的時(shí)候獲取一下自己的微信名,以便用來判斷消息是不是自己發(fā)出的。
if __name__ == '__main__': itchat.auto_login() # 獲取自己的UserName myUserName = itchat.get_friends(update=True)[]["UserName"] itchat.run()
總結(jié)
以上所述是小編給大家介紹的10分鐘教你用Python實(shí)現(xiàn)微信自動(dòng)回復(fù),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)武林站長(zhǎng)站網(wǎng)站的支持!
新聞熱點(diǎn)
疑難解答
圖片精選