您好,登錄后才能下訂單哦!
本篇文章為大家展示了ns4_chatbot通信組件的工作原理是什么,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
NS4系列包括4個(gè)開源模塊,分別是:ns4_frame分布式服務(wù)框架(詳情點(diǎn)擊查看:開源|ns4_frame分布式服務(wù)框架開發(fā)指南)、ns4_gear_idgen ID生成器組件(NS4框架Demo示例)(詳情點(diǎn)擊查看:開源|為什么要使用ns4_gear_idgen ID生成器?)、ns4_gear_watchdog 監(jiān)控系統(tǒng)組件(服務(wù)守護(hù)、應(yīng)用性能監(jiān)控、數(shù)據(jù)采集、自動(dòng)化報(bào)警系統(tǒng))和ns4_chatbot通訊組件。
小編將重點(diǎn)介紹ns4_chatbot通訊組件的工作原理。
ns4_chatbot是針對(duì)業(yè)務(wù)的一個(gè)聊天機(jī)器人的聊天框架,集成了qqbot、wxchat、rasa以及web服務(wù)。提供微信和QQ聊天接口,可以對(duì)某個(gè)群組發(fā)送系統(tǒng)監(jiān)控消息等。QQ和微信聊天機(jī)器人都無法直接發(fā)消息給群組中的非好友用戶,只能通過@的的方式提醒。
微信聊天機(jī)器人
使用的是開源的wxpy 機(jī)器人框架。使用@register這種python wapper機(jī)制來綁定消息響應(yīng)函數(shù)。微信機(jī)器人需要對(duì)群組進(jìn)行注冊(cè)才能對(duì)消息進(jìn)行發(fā)送。
QQ聊天機(jī)器人
采用酷Q方案??酫是windows下的一個(gè)程序,可以模擬QQ。在linux系統(tǒng)中,采用wine技術(shù)。需要單獨(dú)部署成為一個(gè)docker,然后通過一個(gè)http的接口暴露,各類http接口,用來讓我們發(fā)送消息。提供http消息回調(diào)。
接受內(nèi)部系統(tǒng)(如監(jiān)控系統(tǒng))的系統(tǒng)調(diào)用,從而把消息推送給QQ或者微信用戶。內(nèi)部系統(tǒng)調(diào)用服務(wù)的時(shí)候,需要提供以下信息
發(fā)給哪個(gè)群組
發(fā)給這個(gè)群組中的那個(gè)用戶
發(fā)送的消息
可以接受QQ、微信用戶的對(duì)話,理解其意圖,并且回應(yīng)用戶。
此項(xiàng)目主要針對(duì)linux系統(tǒng),采用python2.7+環(huán)境進(jìn)行部署說明。
安裝必需依賴包:取項(xiàng)目中的 ns4_chatbot/requirements.txt 文件,運(yùn)行pip install –r requirements.txt命令
安裝redis
安裝mysql數(shù)據(jù)庫,導(dǎo)入ns4_chatbot/import_data/production/ddl.sql 文件
酷Q目前可以在Wine中運(yùn)行,見酷Q Air / Pro on Wine,因此也就自然而然有了相應(yīng)的Docker鏡像coolq/wine-coolq。
要在Docker中使用本插件,可以使用酷Q官方的Docker鏡像,然后在其中安裝本插件(下載cpk、編輯配置文件、啟用插件),也可以使用維護(hù)的已安裝并啟用了插件的鏡像 richardchien/cqhttp(基于酷Q官方的鏡像修改)。
下面介紹這個(gè)鏡像的用法。
docker 安裝
sudo apt-get install -y docker.io
酷Q安裝
$ docker pull richardchien/cqhttp:latest $ mkdir coolq # 用于存儲(chǔ)酷 Q 的程序文件 $ docker run -ti --rm --name cqhttp-test \ # 將宿主目錄掛載到容器內(nèi)用于持久化酷 Q 的程序文件 -v $(pwd)/coolq:/home/user/coolq \ -p 9000:9000 \ # noVNC 端口,用于從瀏覽器控制酷 Q -p 5700:5700 \ # HTTP API 插件開放的端口 -e COOLQ_ACCOUNT=123456 \ # 要登錄的 QQ 賬號(hào),可選但建議填 -e CQHTTP_POST_URL=http://example.com:8080 \ # 事件上報(bào)地址 # 允許通過 HTTP 接口訪問酷 Q 數(shù)據(jù)文件 -e CQHTTP_SERVE_DATA_FILES=yes \ richardchien/cqhttp:latest
配置酷Q回調(diào)地址:
在/coolq/app/io.github.richardchien.coolqhttpapi/config/<QQ_ID>.ini 中添加 post_url=http://[IP]:8080/coolq_callback
酷Q啟動(dòng):
在瀏覽器中輸入 http://[ip]:5700, 進(jìn)入如下頁面:
點(diǎn)擊圖中的鏈接,進(jìn)入如下頁面,密碼為COOLQ_ACCOUNT對(duì)應(yīng)的密碼。
登錄酷Q,輸入QQ密碼等。
登錄成功界面。
查看日志。
bot=wechat,qq #啟動(dòng)微信和QQ功能 bot_chat_base_inteval=1 #設(shè)置消息的最少發(fā)送間隔,防止微信和QQ被封 bot_chat_interval=3 #在bot_chat_base_inteval的基礎(chǔ)上隨機(jī)停頓的時(shí)間 retry_max_num=10 #微信或者QQ掉線后嘗試重新登錄的次數(shù) retry_interval = 60 #嘗試重新登錄的時(shí)間間隔 retry_sleep=600 #嘗試10次后,沒有登錄成功,就徹底休息10分鐘 debug = True #是否打開調(diào)試日志 [admin] email #微信二維碼和錯(cuò)誤日志發(fā)送的郵箱地址,支持多個(gè)郵箱,多個(gè)郵箱 地址以逗號(hào)隔開 [email]模塊 #配置發(fā)送郵箱的用戶名密碼等,注意,此郵箱需要開通 smtp 協(xié)議 [http]模塊 port=8080 #配置http服務(wù)監(jiān)聽地址端口 [db] 模塊 #配置數(shù)據(jù)庫的用戶名、密碼等相關(guān)信息 [redis]模塊 #配置redis的ip、端口和密碼等信息 [wxbot]模塊 console_qr = True #是否在日志窗口打印微信登錄二維碼 cache_path = .cache #緩存地址,存放系統(tǒng)產(chǎn)生的圖片,二維碼等信息 cache_file = wxpy.pkl #存放微信記住密碼等文件 qr_path = .cache/qr.png #存放微信二維碼 [coolq]模塊 #配置酷Q相關(guān)的信息 url=http://127.0.0.1:5700/ #配置登錄酷 Q 的地址 qq=12345678 #配置酷Q的登錄賬號(hào) cache_path = [workspace]/coolqdata/image #配置酷 Q 的圖片位置,必須配 置到 coolq 的運(yùn)行目錄的 data/image,這樣 CQ 碼發(fā)送的時(shí)候圖片的時(shí)候才能生效 [voice2txt] # #科大訊飛|百度的聲音轉(zhuǎn)文本配置 [rasa] #NLU 自然語言意圖識(shí)別模型 nlu_model = rasa/model/default/latest #對(duì)話模型 dialog_model = rasa/model/dialogue
在數(shù)據(jù)庫biz_system_tree中定義所有可能用到的QQ群組ID和微信群組名稱,如果不定義的話,可能會(huì)出現(xiàn)找不到對(duì)應(yīng)的群組的錯(cuò)誤。
在ns4_chatbot目錄下面,運(yùn)行nohup python Main.py進(jìn)行項(xiàng)目的啟動(dòng)。 然后到配置的郵箱進(jìn)行微信掃碼。
發(fā)送消息接口地址【post】:https://<ip>:<port>/chat 請(qǐng)求參數(shù):
上述內(nèi)容就是ns4_chatbot通信組件的工作原理是什么,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。