前言
微信群機器人,主要用來管理群聊,提供類似天氣查詢、點歌、機器人聊天等用途。
由於微信將web端的協議封殺后,很多基於http協議的群聊機器人都失效了,所以這里使用基於PC端協議的插件來實現。
聲明以下過程只用於交流學習,並不用於任何商業用途,這里記錄一下整體的開發流程。
效果展示
接入過程
准備材料
下文中的服務器可以只需要一台,或者使用你本地電腦,我介紹一下我的環境。
- 可愛貓微信機器人插件V4.4.0。
- 一台windows服務器。
- 一台linux服務器。
- nginx安裝(在window服務上,反向代理)。
安裝可愛貓
由於是exe安裝包,所以我們使用一台window服務器來直接安裝。
安裝后,界面如下圖所示。
安裝完畢,掃碼登錄微信。
配置功能插件
由於插件是基於微信pc端的協議開發,如果要自己定制插件需要使用易語言,或者下載官方的一些sdk開發包來接入。
如果不熟悉語言的話,比較麻煩,所以有網友已經開發好現成的插件給我們使用了,插件會把接收到的消息上報,后端只需要負責消息處理,所以使用什么語言都可以。
這里,我們使用熟悉的java來進行接入。
http插件安裝完成后,需要配置地址。主要是消息回調地址,這是插件接收到群聊消息后會上報到此地址。如果在本地驗證的話,就填寫本地的一個http server的地址即可。
http插件已有功能列舉
http插件內置了許多api接口,我們可以直接調用,無需另外開發。
配置nginx實現主動操作機器人給群發送消息
由於我使用的是兩台服務器,調用本地插件的地址無法配置成外網,所以我使用nginx做了反向代理。配置文件如下:
可以看到對外暴露出8888端口。
我的linux服務器java服務,只需要調用這個ip的8888端口,就能把消息發送到本地的8073端口上。
消息回調后端的實現
由上圖可知,后端只需要寫一個接口接收數據就好。
接入騰訊AI開放平台實現機器人聊天
首先,登錄騰訊ai平台,新建一個應用。
按照接口鑒權文檔,生成簽名。
如果使用php或者python做后端,那它還提供sdk下載,我們是java那就直接按照文檔,調用http地址即可。
后端調用日志截圖
騰訊ai平台還可以提供語音識別接入、語言情感分析、OCR等,十分不錯。
收到消息--->調用騰訊ai平台--->返回應答。
至此,通過這一流程,我們就實現機器了的人自動回復,當然機器人也不是每句話都能有應答,如上圖,71次調用,失敗了17次。不過不收費,也挺不錯的了。
群聊管理,實現踢人
相信大家在群聊過程中一定遇到過很多打廣告的。我們可以通過群自己人實現自動踢人、主動@它踢人。
踢人都是通過調用api來實現的,特別注意的是,機器人必須是群主才行。
自動踢人
這里我簡單的通過設置一系列的關鍵詞,來實現是否是廣告,從而踢出用戶。
這里為了避免錯踢,需要觸發兩次違規后才會將用戶踢出群聊。
主動踢人
基於沒有觸發關鍵詞的廣告,我們可以通過@機器人,來調用接口實現踢人的目的。
其他應用
基於微信群機器人,可以實現很多有意思的功能,比如點歌、聊天,
具體可以來俠夢的開發筆記公眾號一起交流交流。
或是做一些商品的導購推廣,定時給自己推送新聞等等。。。
網頁版微信 API 被封了, itchat 等等基於 web API 的 bot 方案都失效了。
web 微信 封的是群發,涉及群的任何操作 都有可能被封,目前看到的協議有:
iPad 協議,不公開,代表作 阿里貓,雖然是淘客軟件但是能自己用 C#開發插件實現自己的邏輯
PC 微信的 hook , 比較多 但是只能實現群發
.手機端的 hook,剛出來的 理論上能實現各種功能 但是都不公開的
希望大家開闊自己的思路。
歡迎來公眾號【俠夢的開發筆記】,回復干貨,領取精選學習視頻一份