用java做一個能賺錢的微信羣聊機器人(PC協議)

前言

微信羣機器人,主要用來管理羣聊,提供類似天氣查詢、點歌、機器人聊天等用途。由於微信將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來實現的,特別注意的是,機器人必須是羣主纔行。

自動踢人

這裏我簡單的通過設置一系列的關鍵詞,來實現是否是廣告,從而踢出用戶。

這裏爲了避免錯踢,需要觸發兩次違規後纔會將用戶踢出羣聊。

主動踢人

基於沒有觸發關鍵詞的廣告,我們可以通過@機器人,來調用接口實現踢人的目的。

其他應用

基於微信羣機器人,可以實現很多有意思的功能,比如點歌、聊天, 具體可以來俠夢的開發筆記公衆號一起交流交流。或是做一些商品的導購推廣,定時給自己推送新聞等等。。。

通過機器人,可以實現24小時無人值守,全天候在線問答,插件同樣提供完整的多語言API對接方案,方便二次開發,響應速度迅捷,可以快速的運行自己的業務

網頁版微信 API 被封了, itchat 等等基於 web API 的 bot 方案都失效了。

web 微信 封的是羣發,涉及羣的任何操作 都有可能被封,目前看到的協議有:

iPad 協議,不公開,代表作 阿里貓,雖然是淘客軟件但是能自己用 C#開發插件實現自己的邏輯

PC 微信的 hook , 比較多 但是隻能實現羣發。

.手機端的 hook,剛出來的 理論上能實現各種功能 但是都不公開的。


希望大家開闊自己的思路。

好看的人才能點

本文分享自微信公衆號 - 俠夢的開發筆記(xmdevnote)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章