Python使用20行代碼實現(xiàn)微信聊天機器人
近來,打開微信群發(fā)消息,就會秒收到一些活躍分子的回復,有的時候感覺對方回答很在理,但是有的時候發(fā)現(xiàn)對方的回答其實是驢唇不對馬嘴,仔細深究發(fā)現(xiàn),原來對方是機器人。今天,小編就帶大家用20行代碼,帶你一起打造一個微信聊天機器人,讓你的微信群一直嗨不停~~
首先我們需要安裝一個微信相關(guān)的第三方庫,itchat,在Windows上通過命令:pip install itchat,就可以將其安裝。
其二,我們需要去圖靈機器人官網(wǎng):http://www.tuling123.com,注冊一下,即可獲得一個機器人API。過程很簡單,小伙伴不用擔心,兩分鐘就可以搞定了,在如下的界面進行機器人名稱、應用領(lǐng)域、終端進行設(shè)置即可。

創(chuàng)建機器人
之后就會得到一個機器人API,如下圖所示:

機器人API
當然你也可以綁定微信號、微信公眾號或者扣扣、微博等。其實很多的淘寶店、京東商城也都是這種套路,只不過那些機器人更加“聰明”些,比較是高價買入的,而我們使用的只是免費的版本,但是對于我們本著玩玩的心態(tài)來說,已經(jīng)非常不錯了。

上述準備工作完成之后,我們就要開始寫代碼了。打開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()
之后右鍵運行程序,爾后會彈出二維碼,之后在手機上進行掃碼授權(quán),讓機器人登錄即可。這個過程需要耐心的等待一小會,接下來只要你的微信好友或者微信群發(fā)來任何消息,你都會立馬自動進行回復,根本停不下來。如果只需要在微信群中回復的話,那么只需要把微信好友接收消息的方法進行注釋即可,同理,微信群也是如此。

圖靈機器人
最后安利一下,itchat.auto_login()方法。這個方法的意思是通過微信掃描二維碼登錄。但是這種登錄的方式確實短時間的登錄,并不會保留登錄的狀態(tài),也就是下次登錄時還是需要掃描二維碼,如果加上hotReload==True的話,那么就會保留登錄的狀態(tài),至少在后面的幾次登錄過程中不會再次掃描二維碼,該參數(shù)生成一個靜態(tài)文件itchat.pkl,和實現(xiàn)機器人這個代碼在同一個目錄下,其作用是用于存儲登錄狀態(tài)。

機器人聊天圖
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
解決tf.keras.models.load_model加載模型報錯問題
這篇文章主要介紹了解決tf.keras.models.load_model加載模型報錯問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06
如何使用Python進行數(shù)據(jù)分析之方差分析詳解
這篇文章主要給大家介紹了關(guān)于如何使用Python進行數(shù)據(jù)分析之方差分析的相關(guān)資料,方差分析是一種常用的對數(shù)據(jù)進行分析的方法,用于兩個及兩個以上樣本均數(shù)和方差差別的顯著性檢驗,需要的朋友可以參考下2024-03-03
python算法與數(shù)據(jù)結(jié)構(gòu)之單鏈表的實現(xiàn)代碼
鏈表是一種物理存儲單元上非連續(xù)、非順序的存儲結(jié)構(gòu),數(shù)據(jù)元素的邏輯順序是通過鏈表中的指針鏈接次序?qū)崿F(xiàn)的。這篇文章主要介紹了python算法與數(shù)據(jù)結(jié)構(gòu)之單鏈表的實現(xiàn)代碼,需要的朋友可以參考下2019-06-06

