過年必備啊, 代碼地址: https://github.com/klren0312/wechat-robot
1.使用庫
- wechaty - 微信操作
- node-schedule - 任務調度
- flyio - http請求
2.功能介紹
主要有下面兩個功能:
- 定時群發(fā), 在代碼中設定群發(fā)的時間和內容(暫時支持代碼內修改), 并在配置文件
robot-config.js
中配置群發(fā)列表, 支持備注, 這樣可以避免一些麻煩. - 智能回復, 代碼中已經將自己的消息, 公眾號的消息, 群聊消息和白名單中的消息屏蔽了, 減少不必要的影響.智能回復對接的是海知智能, 可以識別回復大部分信息, 無法識別的可以自定義一個默認回復語句.
3.項目運行
由于需要安裝chromium, 所以要先配置一下鏡像
- npm
npm config set registry https://registry.npm.taobao.org
npm config set disturl https://npm.taobao.org/dist
npm config set puppeteer_download_host https://npm.taobao.org/mirrors
- yarn
yarn config set registry https://registry.npm.taobao.org
yarn config set disturl https://npm.taobao.org/dist
yarn config set puppeteer_download_host https://npm.taobao.org/mirrors
然后進行項目安裝
$ git clone git@github.com:klren0312/wechat-robot.git
$ cd wechat-robot
$ npm install # 或者 yarn
配置相關數(shù)據(jù), 編輯 robot-config.js
, 在群發(fā)名單
, 白名單
, 海知智能api
中填入相關信息
運行項目
$ cd examples
$ node zzesRobot.js
4. 項目部署
- 在服務器上安裝
pm2
$ npm install -g pm2
- 項目安裝依賴
- 啟動項目
$ pm2 start zzesRobot.js
- 查看登錄二維碼
$ pm2 monit
# 或者
$ pm2 log
注意: linux上部署, 需要安裝相關字體
$ yum install ipa-gothic-fonts xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11-utils xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 xorg-x11-fonts-misc -y
5.代碼說明
wechaty具體的api, 直接去官方文檔查看
1.任務調度放在了登錄的回調里, 登錄之后添加任務調度, node-schedule
支持下面的new Date()
方法, 有個坑, 就是month是從0開始的, 所以需要注意一下
const date = new Date(2019, 1, 5, 0, 0, 0)
timer = schedule.scheduleJob(date, function () {
main() // 群發(fā)函數(shù)
})
2.群發(fā), 遍歷群發(fā)名單, 用的備注來搜索用戶, 然后給用戶發(fā)送信息, 需要加一點延時, 是為了給一定時間找到用戶, 因為這個庫爬的是網頁微信的信息
// 通過備注查找
bot.Contact.find({ alias: '備注' })
3.攔截信息
通過onMessage
拿到msg
相關信息
-
msg.room()
為群聊信息 -
msg.self()
為自己的信息 -
msg.from().type()
為1
的時候是公眾號信息
實戰(zhàn)