Python使用20行代碼實(shí)現(xiàn)微信聊天機(jī)器人
近來(lái),打開(kāi)微信群發(fā)消息,就會(huì)秒收到一些活躍分子的回復(fù),有的時(shí)候感覺(jué)對(duì)方回答很在理,但是有的時(shí)候發(fā)現(xiàn)對(duì)方的回答其實(shí)是驢唇不對(duì)馬嘴,仔細(xì)深究發(fā)現(xiàn),原來(lái)對(duì)方是機(jī)器人。今天,小編就帶大家用20行代碼,帶你一起打造一個(gè)微信聊天機(jī)器人,讓你的微信群一直嗨不停~~
首先我們需要安裝一個(gè)微信相關(guān)的第三方庫(kù),itchat,在Windows上通過(guò)命令:pip install itchat,就可以將其安裝。
其二,我們需要去圖靈機(jī)器人官網(wǎng):http://www.tuling123.com,注冊(cè)一下,即可獲得一個(gè)機(jī)器人API。過(guò)程很簡(jiǎn)單,小伙伴不用擔(dān)心,兩分鐘就可以搞定了,在如下的界面進(jìn)行機(jī)器人名稱、應(yīng)用領(lǐng)域、終端進(jìn)行設(shè)置即可。
創(chuàng)建機(jī)器人
之后就會(huì)得到一個(gè)機(jī)器人API,如下圖所示:
機(jī)器人API
當(dāng)然你也可以綁定微信號(hào)、微信公眾號(hào)或者扣扣、微博等。其實(shí)很多的淘寶店、京東商城也都是這種套路,只不過(guò)那些機(jī)器人更加“聰明”些,比較是高價(jià)買入的,而我們使用的只是免費(fèi)的版本,但是對(duì)于我們本著玩玩的心態(tài)來(lái)說(shuō),已經(jīng)非常不錯(cuò)了。
上述準(zhǔn)備工作完成之后,我們就要開(kāi)始寫(xiě)代碼了。打開(kāi)pycharm,具體代碼如下圖所示:
import itchatimport requestsdef get_response(msg):apiUrl = ’http://www.tuling123.com/openapi/api’data = {’key’: ’180b4304b4b647d3b1920caf60f’, /# Tuling Key,API的值’info’: msg, /# 發(fā)出去的消息’userid’: ’xuebaobao’, /# 用戶名。隨意設(shè)置}r = requests.post(apiUrl, data=data).json() /# post請(qǐng)求return r.get(’text’)@itchat.msg_register(itchat.content.TEXT) /# 用于接收來(lái)自朋友間的對(duì)話消息def print_content(msg):return get_response(msg[’Text’])@itchat.msg_register([itchat.content.TEXT], isGroupChat=True) /# 用于接收群里面的對(duì)話消息def print_content(msg):return get_response(msg[’Text’])itchat.auto_login(hotReload==True) /# 通過(guò)微信掃描二維碼登錄itchat.run()
之后右鍵運(yùn)行程序,爾后會(huì)彈出二維碼,之后在手機(jī)上進(jìn)行掃碼授權(quán),讓機(jī)器人登錄即可。這個(gè)過(guò)程需要耐心的等待一小會(huì),接下來(lái)只要你的微信好友或者微信群發(fā)來(lái)任何消息,你都會(huì)立馬自動(dòng)進(jìn)行回復(fù),根本停不下來(lái)。如果只需要在微信群中回復(fù)的話,那么只需要把微信好友接收消息的方法進(jìn)行注釋即可,同理,微信群也是如此。
圖靈機(jī)器人
最后安利一下,itchat.auto_login()方法。這個(gè)方法的意思是通過(guò)微信掃描二維碼登錄。但是這種登錄的方式確實(shí)短時(shí)間的登錄,并不會(huì)保留登錄的狀態(tài),也就是下次登錄時(shí)還是需要掃描二維碼,如果加上hotReload==True的話,那么就會(huì)保留登錄的狀態(tài),至少在后面的幾次登錄過(guò)程中不會(huì)再次掃描二維碼,該參數(shù)生成一個(gè)靜態(tài)文件itchat.pkl,和實(shí)現(xiàn)機(jī)器人這個(gè)代碼在同一個(gè)目錄下,其作用是用于存儲(chǔ)登錄狀態(tài)。
機(jī)器人聊天圖
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. python中scrapy處理項(xiàng)目數(shù)據(jù)的實(shí)例分析2. Hybris在idea中debug配置方法詳解3. 在idea中為注釋標(biāo)記作者日期操作4. jsp cookie+session實(shí)現(xiàn)簡(jiǎn)易自動(dòng)登錄5. XPath入門 - XSL教程 - 36. .NET Core Web APi類庫(kù)內(nèi)嵌運(yùn)行的方法7. .NET6使用ImageSharp實(shí)現(xiàn)給圖片添加水印8. ASP.NET MVC實(shí)現(xiàn)橫向展示購(gòu)物車9. ASP.NET MVC使用Boostrap實(shí)現(xiàn)產(chǎn)品展示、查詢、排序、分頁(yè)10. .net如何優(yōu)雅的使用EFCore實(shí)例詳解
