Python | 微信自動回覆祝福語

AI科技大本營發表於2019-02-01

640?wx_fmt=jpeg


作者 | Ahab

來源 | Ahab雜貨鋪(ID:PythonLearningCamp)

編輯 | Jane


馬上就要過年了,好多小夥伴都已經順利到家。在這提前祝大家:新年快樂。


昨天發現自己的 itchat 終於可以登陸了(差不多被封了兩個月),馬上就要過年了,必須用 itchat 搞點事情--實現自動回覆微信好友新年祝福。當然除了這個還可以做個祝福語群發助手,但是比較慫怕再次被封,畢竟上次就是因為群發被封的。話不多說,來看今天的程式。


程式介紹


640?wx_fmt=png

先上圖讓大家感受一下


這是第三次寫關於 itchat 的文章了,沒什麼技術含量,照著 API 寫就可以,程式的功能簡單地說就是當微信好友給你發新年祝福時,你隨機回覆一條祝福語,同時,自動回覆過的好友不再回復,祝福語前面會加上微信好友的備註/暱稱,這樣看起來不是特別像自動回覆。用到的模組:itchat 模組、requests 模組以及一些 Python 自帶的模組。


具體實現


  • 獲取新年祝福語


也許大家會有疑問自動回覆的祝福語從哪獲取呢?給大家推薦一個神奇的網站愛集合資料。


傳送門:


http://www.xjihe.com/home/api


我們用到的祝福語就是通過這個網站來獲取。


640?wx_fmt=png


具體獲取哪種資料,網站已經做了很詳細的說明,大家照著實現就可以,然後 apiKey 需要自己註冊獲取。


1# 獲取新年祝福語
2def GetRandomGreeting():
3    res = requests.get("http://www.xjihe.com/api/life/greetings?festival=新年&page=10", headers = {'apiKey':'sQS2ylErlfm9Ao2oNPqw6TqMYbJjbs4g'})
4    results = res.json()['result']
5    return results[random.randrange(len(results))]['words']


通過 requests 進行請求,獲取新春祝福語,使用 random 隨機生成。


  • 傳送新年祝福語


# 傳送新年祝福語
2def SendGreeting(msg):
3    global replied
4    friend = itchat.search_friends(userName=msg['FromUserName'])
5    if friend['RemarkName']:
6        itchat.send((friend['RemarkName']+','+GetRandomGreeting()), msg['FromUserName'])
7    else:
8        itchat.send((friend['NickName']+','+GetRandomGreeting()), msg['FromUserName'])
9    replied.append(msg['FromUserName'])


資訊的傳送通過 itchat 來實現,關於 itchat 之前做過很多次介紹,訊息的傳送在智障機器人的文章已經做了詳細介紹,這一模組比較簡單,大家也可以參照 API 來實現。


API:

https://pypi.org/project/itchat/1.0.11/


# 文字訊息
2@itchat.msg_register([TEXT])
3def text_reply(msg):
4    if '年' in msg['Text'and msg['FromUserName'not in replied:
5        SendGreeting(msg)
6
7
8# 其他訊息
9@itchat.msg_register([PICTURE, RECORDING, VIDEO, SHARING])
10def others_reply(msg):
11    if msg['FromUserName'not in replied:
12        SendGreeting(msg)


這裡做了一個簡單的判斷,如果對方給你傳送的訊息中含有【年】,就認為是對方給你傳送新春祝福,實現自動回覆,當然你也可以將這個判斷條件設定的更加準確。如果收到圖片,語音,視訊,表情包等訊息,則不會自動回覆。


專案地址:

https://github.com/AhabWang/AhabCode


(本文為AI科技大本營轉載文章,轉載請聯絡作者。)


推薦

640?wx_fmt=png


推薦閱讀

640?wx_fmt=png

點選“閱讀原文”,開啟CSDN APP 閱讀更貼心!

相關文章