利用itchat和圖靈機(jī)器人API打造一個(gè)尬聊機(jī)器人
itchat
itchat是一個(gè)用python寫的炊汤,對(duì)微信web端API封裝的一個(gè)庫.
具體的使用方法可以參考官方的教程:itchat
官方的Github地址:
itchat
itchat的安裝,傻子步驟:
pip3 install itchat
圖靈機(jī)器人
圖靈弊攘,這位偉大的任務(wù)抢腐,我們都知道,判斷和你對(duì)話的是人還是機(jī)器人的第一關(guān)就是反復(fù)問他同一個(gè)問題襟交,也就是我們所熟悉的圖靈測(cè)試.當(dāng)然迈倍,現(xiàn)在為止,還沒有能通過圖靈測(cè)試的機(jī)器.
今天我們需要用到的婿着,圖靈機(jī)器人是一家以語義和對(duì)話技術(shù)為核心的人工智能公司在人工智能機(jī)器人領(lǐng)域擁有數(shù)百項(xiàng)核心專利
要想使用他的API授瘦,首先韧骗,我們得注冊(cè)一個(gè)帳號(hào)驰吓,通過獲得的apikey進(jìn)行調(diào)用.
>圖靈機(jī)器人的官網(wǎng)tuling
接口地址api
代碼的大部分,都是官方的指導(dǎo)的源代碼薇缅,我所添加的只是一些邏輯方面的.
我的這個(gè)機(jī)器人是跑在我24*7的樹梅派上的丘侠,所以我就將這個(gè)機(jī)器人的功能定義為了:
1.機(jī)器人的工作時(shí)間段為:08:00--22:00
2.只接收文本內(nèi)容徒欣,圖片,鏈接蜗字,視頻等不做處理打肝,交 由你回復(fù)
第二條很好實(shí)現(xiàn),僅僅注冊(cè)一個(gè)TEXT消息即可.
第一條:
1.導(dǎo)入time模塊挪捕,判斷當(dāng)前時(shí)間是否到22點(diǎn).如果到了粗梭,退出程序
'''
localtime = time.localtime(time.time())
if localtime[3] >= 22:
itchat.logout()
'''
2.每天8點(diǎn)運(yùn)行程序,使用linux的例行性工作調(diào)度
$crontab -e
執(zhí)行命令,添加一條任務(wù)
0 8 * * * python3 AI_TL.py
最重要的就是级零,web端的微信登錄是通過掃碼完成的断医,我們通過itchat.auto_login(hotReload=True),只是在很短的時(shí)間內(nèi),重新登錄不需要掃碼,所以我們還需要獲得qrcode
這里鉴嗤,我使用了python的smtplib斩启,來將生成的qrcode通過郵件的方式,發(fā)送到了我的郵箱醉锅,我就可以通過遠(yuǎn)程的方式兔簇,來進(jìn)行微信的登錄了.不過,微信的掃碼硬耍,只能通過開啟攝像頭的方式進(jìn)行掃描垄琐,所以,你可能還得將qrcode發(fā)送到你旁邊的那個(gè)人哦.
代碼放到了我的github上了
https://github.com/dmzlingyin/python_project/tree/master/ichat
源代碼是AI_TL.py & fj_mail.py