Python使用20行代碼實(shí)現(xiàn)微信聊天機(jī)器人
近來,打開微信群發(fā)消息,就會秒收到一些活躍分子的回復(fù),有的時候感覺對方回答很在理,但是有的時候發(fā)現(xiàn)對方的回答其實(shí)是驢唇不對馬嘴,仔細(xì)深究發(fā)現(xiàn),原來對方是機(jī)器人。今天,小編就帶大家用20行代碼,帶你一起打造一個微信聊天機(jī)器人,讓你的微信群一直嗨不停~~
首先我們需要安裝一個微信相關(guān)的第三方庫,itchat,在Windows上通過命令:pip install itchat,就可以將其安裝。
其二,我們需要去圖靈機(jī)器人官網(wǎng):http://www.tuling123.com,注冊一下,即可獲得一個機(jī)器人API。過程很簡單,小伙伴不用擔(dān)心,兩分鐘就可以搞定了,在如下的界面進(jìn)行機(jī)器人名稱、應(yīng)用領(lǐng)域、終端進(jìn)行設(shè)置即可。
創(chuàng)建機(jī)器人
之后就會得到一個機(jī)器人API,如下圖所示:
機(jī)器人API
當(dāng)然你也可以綁定微信號、微信公眾號或者扣扣、微博等。其實(shí)很多的淘寶店、京東商城也都是這種套路,只不過那些機(jī)器人更加“聰明”些,比較是高價買入的,而我們使用的只是免費(fèi)的版本,但是對于我們本著玩玩的心態(tài)來說,已經(jīng)非常不錯了。
上述準(zhǔn)備工作完成之后,我們就要開始寫代碼了。打開pycharm,具體代碼如下圖所示:
import itchat import requests def 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請求 return r.get('text') @itchat.msg_register(itchat.content.TEXT) /# 用于接收來自朋友間的對話消息 def print_content(msg): return get_response(msg['Text']) @itchat.msg_register([itchat.content.TEXT], isGroupChat=True) /# 用于接收群里面的對話消息 def print_content(msg): return get_response(msg['Text']) itchat.auto_login(hotReload==True) /# 通過微信掃描二維碼登錄 itchat.run()
之后右鍵運(yùn)行程序,爾后會彈出二維碼,之后在手機(jī)上進(jìn)行掃碼授權(quán),讓機(jī)器人登錄即可。這個過程需要耐心的等待一小會,接下來只要你的微信好友或者微信群發(fā)來任何消息,你都會立馬自動進(jìn)行回復(fù),根本停不下來。如果只需要在微信群中回復(fù)的話,那么只需要把微信好友接收消息的方法進(jìn)行注釋即可,同理,微信群也是如此。
圖靈機(jī)器人
最后安利一下,itchat.auto_login()方法。這個方法的意思是通過微信掃描二維碼登錄。但是這種登錄的方式確實(shí)短時間的登錄,并不會保留登錄的狀態(tài),也就是下次登錄時還是需要掃描二維碼,如果加上hotReload==True的話,那么就會保留登錄的狀態(tài),至少在后面的幾次登錄過程中不會再次掃描二維碼,該參數(shù)生成一個靜態(tài)文件itchat.pkl,和實(shí)現(xiàn)機(jī)器人這個代碼在同一個目錄下,其作用是用于存儲登錄狀態(tài)。
機(jī)器人聊天圖
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
利用python實(shí)現(xiàn)周期財務(wù)統(tǒng)計可視化
這篇文章主要給大家介紹了關(guān)于如何利用python實(shí)現(xiàn)周期財務(wù)統(tǒng)計可視化的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08python Django編寫接口并用Jmeter測試的方法
這篇文章主要介紹了python Django編寫接口并用Jmeter測試,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07基于scrapy實(shí)現(xiàn)的簡單蜘蛛采集程序
這篇文章主要介紹了基于scrapy實(shí)現(xiàn)的簡單蜘蛛采集程序,實(shí)例分析了scrapy實(shí)現(xiàn)采集程序的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-04-04flask 實(shí)現(xiàn)token機(jī)制的示例代碼
這篇文章主要介紹了flask 實(shí)現(xiàn)token機(jī)制的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11python+html實(shí)現(xiàn)前后端數(shù)據(jù)交互界面顯示的全過程
最近項(xiàng)目中采用了前后端分離的技術(shù),感覺有必要給大家總結(jié)下,所以下面這篇文章主要給大家介紹了關(guān)于python+html實(shí)現(xiàn)前后端數(shù)據(jù)交互界面顯示的相關(guān)資料,需要的朋友可以參考下2022-06-06