nodejs 結合 wechaty 實現你的微信羣聊機器人二(iPad 協議)

程序員導航站 :艾特網-iiter.cn

開源地址: https://github.com/isnl/wechat-robot-ipad

前言

前段時間寫了篇關於使用 nodejs 結合 wechaty 這個庫實現微信機器人的文章:

https://juejin.im/post/5e70d68651882549391358e1

但是有很多小夥伴被 web 協議 的微信無法登陸所限制,不能體驗開發 機器人 的樂趣。

於是便產生了這篇使用 iPad 協議的文章。

來介紹下 wechaty

康康官網的 Introduction

Wechaty 是一個開源的的 個人號 微信機器人接口,是一個使用 Typescript 構建的 Node.js 應用。支持多種微信接入方案,包括網頁,ipad,ios,windows, android 等。同時支持 Linux, Windows, Darwin(OSX/Mac) 和 Docker 多個平臺。

更多功能包括:

  • 消息處理:關鍵詞回覆
  • 羣管理:自動入羣,拉人,踢人
  • 自動處理好友請求
  • 智能對話:通過簡單配置,即可加入智能對話系統,完成指定任務
    … 請自行開腦洞

據說是只需要 6 行代碼,就可以 通過 wechaty 搭建一個微信機器人功能 ,用來自動管理微信消息。

在上一篇文章中,我們使用的是 web協議 ,而大部分小夥伴的微信 web端是無法登陸的,驗證是否被 web協議 限制登陸可打開 https://wx.qq.com 掃碼查看。

不能登錄 web 版微信,難道就不能用了嗎!??

答案是否定的! wechaty 官方除了 web 協議,還開發了基於 iPadios等協議。

But !!!

web版協議 是收費的!

怎麼收費呢?說是倆百塊錢一個月,會給你發放有效期爲一個月的 Token,完了你可以用這個 Token 愉快的使用 非web版協議 去構建你的機器人。

那有人就說了,你說了半天等於放屁。

我全身上下就一個字。

2020523222319

一個月兩百塊錢我用來幹啥事不行?買個排骨吃它不香嗎?

別急,且聽老夫慢慢說來。

排骨得吃,機器人也能寫。

如何獲取免費 Token

官方文檔中提供了免費 token 的獲取方式。
https://github.com/juzibot/Welcome/wiki/Support-Developers

人家是醬紫說的:

We provide a free access using iPad protocol for the developers who have a strong will and ability to build a valuable chatbot for users.

大概意思是:我們可以爲了有強烈意願和能力爲 用戶 構建 有價值 的聊天機器人的開發人員提供免費使用 iPad 協議的權限

看到沒得,這就是我們身爲程序員爲用戶爭來的權力。

2020523222739

Any developers can add JuziBOT Inc’s staff ( Wechat number : botorange_yeah ) as a Wechat friend. You will receive a review form after adding. If you pass the review and willing to write a blog in Wechaty , you can use our iPad protocol for free!

人家害說了,讓你添加 botorange_yeah 爲微信好友,填寫個審查表,就會給你免費發放 15 天的 Token。

15 天后,需要提交一個 MVP(最小可行化產品)的 github 倉庫,他們會 fork 到 wechaty 社區中,併爲您提供長期免費的 Token。

2020523223827

完事之後就加好友,獲取 Token。

克隆倉庫代碼 https://github.com/isnl/wechat-robot-ipad

安裝依賴必須的吧?

npm install

聽我的,npm 裝不上咱就換 cnpm 好嗎?

隔壁王大媽說說點個 star ,依賴會裝的賊快。

目錄結構

  • config文件夾存放公共配置文件以及superagent請求相關配置
  • imgs存放相關圖片
  • listeners存放機器人初始化後一系列事件處理(分模塊)
    • on-friendship.js 處理好友請求
    • on-login.js 處理登錄
    • on-message.js 處理用戶消息、羣消息
    • on-scan.js 處理登錄二維碼
  • schedule 對定時任務node-schedule庫進行了封裝
  • superagent 存放所有的數據請求、接口封裝都在此
  • utils 公用方法的封裝
  • app.js 入口文件

如何使用

  1. 修改config配置
    打開config/index.js 文件,將裏面的配置改爲自己的。

  2. 修改天行接口配置
    天行 api 官網 :https://tianapi.com/
    註冊成功後,申請以下接口:

    註冊後請打開superagent/index.js,將頂部APIKEY改爲自己天行 api 的key即可

其他免費接口可隨意申請,不想用天行的接口可以刪掉對應的關鍵字。

emmm…

然後就可以運行了

npm start

終端會出現一個二維碼,掃碼登錄即可。

https://static.iiter.cn/article/c41650f846d4f3d7fab82bc91f1b8f36.gif

已實現功能

  • 發送加羣關鍵字,自動拉人進羣。
  • 毒雞湯
  • 神回覆
  • 英語一句話
  • 大小寫轉換
  • rgb 與 16 進制顏色互轉
  • 天氣查詢
  • 新冠肺炎各省市實時數據
  • 發送關鍵字,踢人

列幾個有趣的功能,可以去參考着實現:

  • 快遞查詢
  • 隨機一張妹子圖
  • 每天早上 9 點發送實時熱搜新聞至指定羣 / 指定微信
  • 羣聊邀請統計功能(商業)
  • 採集京東聯盟優惠券羣消息,轉鏈後發送到自己推廣的羣(商業)
  1. 看到這裏啦,點個 支持一下吧。
  2. 關注公衆號 前端糖果屋 互相學習鴨。
  3. 添加小助手微信 uumovies ,拉你進 技術交流羣 探討人生。
    公衆號
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章