用Python写了一个微信聊天机器人(打团了让它来陪女友聊天)
在我們的生活和工作當(dāng)中,很多時候我們并不能及時地回復(fù)消息,尤其是業(yè)務(wù)比較多的人,客戶給我們發(fā)消息我們不回又不好,但又沒有那么多精力時時回復(fù),這個時候智能機器人就能幫助我們解決很多問題。
像電商類的客服,像大的QQ群/微信群管理員,以及我們打游戲的時候,掛著腳本就行,機器人自動幫你回消息,一時半會兒不會得罪女朋友,哈哈哈!
今天就來教大家一招,16行Python代碼實現(xiàn)1個微信聊天智能機器人(圖靈),再也不用擔(dān)心不回消息被客戶罵了!
一、效果
我拿我自己的微信(左邊)登陸之后,用我助手的微信測試了一下,機器人接管了我的微信之后的聊天效果看起來還是不錯的:
二、項目思路
整體的思路如下圖所示:
三、代碼分析
1.安裝和導(dǎo)入模塊
這里要用到的兩個,itchat模塊和requests模塊,這是必不可少的一步,項目基于這兩個模塊運行的。安裝方法很簡單,直接窗口鍵+R調(diào)出命令窗口,然后輸入指令安裝,比如說安裝itchat模塊就直接輸入 pip install itchat。
提示一下,兩個模塊分開安裝,裝完1個再裝另一個。
安裝完成之后,我們就可以直接在代碼中導(dǎo)入模塊:
import itchat import requests2.申請圖靈機器人
這個項目的機器人是現(xiàn)成的圖靈機器人,我們需要去圖靈官網(wǎng)注冊一下,然后進入后臺創(chuàng)建機器人,每個機器人都有1個api,這是我們要用到的。
圖靈機器人之前是有免費版和體驗版的,現(xiàn)在的話需要實名認(rèn)證一下才有,雖然每天只有100次的消息回復(fù),但對于測試者來玩玩是可以的。
圖靈還可以進行關(guān)鍵詞的個性回復(fù),在后臺的“私有語料庫”設(shè)置一下就可以。
3.實現(xiàn)機器人功能
這里除了要有訪問網(wǎng)站的url之外,還要確定調(diào)用的是哪個機器人,因為可能你的后臺有多個機器人,這時候就用到了每個機器人特有的api,以及獲取要發(fā)送的消息,然后用于post方式發(fā)送請求,發(fā)送網(wǎng)站的url、機器人的api和要發(fā)送的消息,最后提取字典里面的text,最終進行返回數(shù)據(jù)。
def get_response(msg):apiUrl= "http://www.tuling123.com/openapi/api" #要訪問的網(wǎng)站#key:機器人的key,info:要發(fā)送的消息data={'key':KEY,'info':msg,'userid':"WeChat-robot"}#發(fā)送請求:r = requests.post(apiUrl,data=data)return r["text"]4.實現(xiàn)微信功能
如果有人給我們發(fā)消息,我們就調(diào)用上面返回的數(shù)據(jù),那么如何知道是否有人給你發(fā)消息?這個時候的我們就用到了裝飾器,itchat提供的 @itchat.msg_register() 就能實現(xiàn)這個功能;接著調(diào)用上面已經(jīng)寫好的機器人功能,最終返回機器人的信息或者發(fā)送者的信息。
為什么要加發(fā)送者的信息復(fù)制一遍發(fā)送?這是防止網(wǎng)絡(luò)等其他問題導(dǎo)致機器人沒有響應(yīng),這個時候誰給我們發(fā)什么消息,我們就自動給他回復(fù)同樣的消息,避免聊天時無反應(yīng)。
@itchat.msg_register(itchat.content.TEXT) def tuling_reply(user_data):print(user_data)#用戶的信息包含給你發(fā)的消息user=user_data["Text"]#用戶發(fā)你的信息return_user = get_response(user_data["Text"])print(return_user)return return_user or user5.彈出二維碼及循環(huán)程序
在程序運行時我們需要彈出1個二維碼,讓我們掃碼后登陸,同時要保證程序一直處于運行狀態(tài),不然程序只跑一遍就完了,這兩個功能在itchat都提供了,直接用就行。
itchat.auto_login()#掃碼登錄 itchat.run()#循環(huán)執(zhí)行以上就是這個微信智能聊天機器人的代碼分析,這個假人還是不錯的,付費版本我不知道,充錢肯定會更強,整個下來不超過20行代碼。
關(guān)于Python技術(shù)儲備
學(xué)好 Python 不論是就業(yè)還是做副業(yè)賺錢都不錯,但要學(xué)會 Python 還是要有一個學(xué)習(xí)規(guī)劃。最后大家分享一份全套的 Python 學(xué)習(xí)資料,給那些想學(xué)習(xí) Python 的小伙伴們一點幫助!
一、Python所有方向的學(xué)習(xí)路線
Python所有方向的技術(shù)點做的整理,形成各個領(lǐng)域的知識點匯總,它的用處就在于,你可以按照上面的知識點去找對應(yīng)的學(xué)習(xí)資源,保證自己學(xué)得較為全面。(文末獲取!)
溫馨提示:篇幅有限,已打包文件夾,獲取方式在“文末”!!!
二、Python必備開發(fā)工具
三、精品Python學(xué)習(xí)書籍
當(dāng)我學(xué)到一定基礎(chǔ),有自己的理解能力的時候,會去閱讀一些前輩整理的書籍或者手寫的筆記資料,這些筆記詳細(xì)記載了他們對一些技術(shù)點的理解,這些理解是比較獨到,可以學(xué)到不一樣的思路。
四、Python視頻合集
觀看零基礎(chǔ)學(xué)習(xí)視頻,看視頻學(xué)習(xí)是最快捷也是最有效果的方式,跟著視頻中老師的思路,從基礎(chǔ)到深入,還是很容易入門的。
五、實戰(zhàn)案例
光學(xué)理論是沒用的,要學(xué)會跟著一起敲,要動手實操,才能將自己的所學(xué)運用到實際當(dāng)中去,這時候可以搞點實戰(zhàn)案例來學(xué)習(xí)。
六、Python練習(xí)題
檢查學(xué)習(xí)結(jié)果。
七、面試資料
我們學(xué)習(xí)Python必然是為了找到高薪的工作,下面這些面試題是來自阿里、騰訊、字節(jié)等一線互聯(lián)網(wǎng)大廠最新的面試資料,并且有阿里大佬給出了權(quán)威的解答,刷完這一套面試資料相信大家都能找到滿意的工作。
這份完整版的Python全套學(xué)習(xí)資料已經(jīng)上傳CSDN,朋友們?nèi)绻枰梢晕⑿艗呙柘路紺SDN官方認(rèn)證二維碼免費領(lǐng)取【保證100%免費】
Python資料、技術(shù)、課程、解答、咨詢也可以直接點擊下面名片,添加官方客服斯琪↓
總結(jié)
以上是生活随笔為你收集整理的用Python写了一个微信聊天机器人(打团了让它来陪女友聊天)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MATLAB---CAD绘制四个Herm
- 下一篇: 普通程序员如何入门深度学习?