16行Python代碼實現(xiàn)微信聊天機器人并自動智能回復功能
在我們的生活和工作當中,很多時候我們并不能及時地回復消息,尤其是業(yè)務(wù)比較多的人,客戶給我們發(fā)消息我們不回又不好,但又沒有那么多精力時時回復,這個時候智能機器人就能幫助我們解決很多問題。
像電商類的客服,像大的QQ群/微信群管理員,以及我們打游戲的時候,掛著腳本就行,機器人自動幫你回消息,一時半會兒不會得罪女朋友,哈哈哈!
今天就來教大家一招,16行Python代碼實現(xiàn)1個微信聊天智能機器人(圖靈),再也不用擔心不回消息被客戶罵了!
一、效果
我拿我自己的微信(左邊)登陸之后,用我助手的微信測試了一下,機器人接管了我的微信之后的聊天效果看起來還是不錯的:
二、項目思路
整體的思路如下圖所示:
三、代碼分析
1.安裝和導入模塊
這里要用到的兩個,itchat模塊和requests模塊,這是必不可少的一步,項目基于這兩個模塊運行的。安裝方法很簡單,直接窗口鍵+R調(diào)出命令窗口,然后輸入指令安裝,比如說安裝itchat模塊就直接輸入 pip install itchat。
提示一下,兩個模塊分開安裝,裝完1個再裝另一個。
安裝完成之后,我們就可以直接在代碼中導入模塊:
import itchat import requests
2.申請圖靈機器人
這個項目的機器人是現(xiàn)成的圖靈機器人,我們需要去圖靈官網(wǎng)注冊一下,然后進入后臺創(chuàng)建機器人,每個機器人都有1個api,這是我們要用到的。
圖靈機器人之前是有免費版和體驗版的,現(xiàn)在的話需要實名認證一下才有,雖然每天只有100次的消息回復,但對于測試者來玩玩是可以的。
圖靈還可以進行關(guān)鍵詞的個性回復,在后臺的“私有語料庫”設(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ā)送?這是防止網(wǎng)絡(luò)等其他問題導致機器人沒有響應(yīng),這個時候誰給我們發(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 user
5.彈出二維碼及循環(huán)程序
在程序運行時我們需要彈出1個二維碼,讓我們掃碼后登陸,同時要保證程序一直處于運行狀態(tài),不然程序只跑一遍就完了,這兩個功能在itchat都提供了,直接用就行。
itchat.auto_login()#掃碼登錄 itchat.run()#循環(huán)執(zhí)行
以上就是這個微信智能聊天機器人的代碼分析,這個假人還是不錯的,付費版本我不知道,充錢肯定會更強,整個下來不超過20行代碼。
到此這篇關(guān)于16行Python代碼實現(xiàn)微信聊天機器人并自動智能回復功能的文章就介紹到這了,更多相關(guān)python微信聊天機器人內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python庫學習Tkinter制作GUI個性簽名設(shè)計軟件
Tkinter 是 Python 中的標準 GUI 庫,使用 Tkinter 可以快速地創(chuàng)建 GUI 應(yīng)用程序。今天我們打算再用一個小案例,帶大家加深對Tkinter的理解2021-09-09python pandas移動窗口函數(shù)rolling的用法
今天小編就為大家分享一篇python pandas移動窗口函數(shù)rolling的用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02Python中WatchDog的使用經(jīng)驗總結(jié)
在?python?中文件監(jiān)視主要有兩個庫,一個是?pyinotify,一個是?watchdog,本文主要為大家詳細介紹一下Python中WatchDog的使用相關(guān)經(jīng)驗,感興趣的小伙伴可以了解下2023-12-12Python UnicodeEncodeError: ''gbk'' codec can''t encode chara
這篇文章主要介紹了Python UnicodeEncodeError: 'gbk' codec can't encode character 解決方法,需要的朋友可以參考下2015-04-04pycharm激活碼2020最新分享適用pycharm2020最新版親測可用
這篇文章主要介紹了pycharm激活碼2020最新分享適用pycharm2020最新版親測可用,同時也支持Intellij IDEA激活碼,PHPStorm激活碼大家可以放心使用需要的朋友可以參考下2020-11-11