三分鐘教你用Node做一個(gè)微信哄女友神器(面向小白)
項(xiàng)目介紹
本文介紹項(xiàng)目是用node和wechaty微信網(wǎng)頁(yè)接口開發(fā)的一款小工具,可以定時(shí)給女朋友發(fā)每天的天氣情況,天氣提醒,每日一句。通過(guò)配置機(jī)器人api后還可以實(shí)現(xiàn)微信機(jī)器人自動(dòng)陪女朋友聊天。
項(xiàng)目地址
效果預(yù)覽
在三步走教學(xué)之前,先放上效果看一下


可以看到在指定的時(shí)間就會(huì)收到發(fā)送的消息,包括天氣信息,天氣提醒,還有你們?cè)谝黄鸲嗌偬炝?。?dāng)開啟機(jī)器人后,女朋友就可以和小助手對(duì)話了,不過(guò)目前開源機(jī)器人的api都不是非常的智能,匹配的語(yǔ)義可能不是那么準(zhǔn)確。所以有時(shí)候女朋友生氣了,千萬(wàn)記得不要開啟機(jī)器人!
此項(xiàng)目前期使用的是圖靈機(jī)器人,但是最近圖靈機(jī)器人做了限制,沒(méi)有認(rèn)證的用戶不允許調(diào)取API,認(rèn)證的用戶每天也只有100條,這就很雞肋了,女朋友還沒(méi)哄過(guò)癮呢就被限制了,這是很可怕的(手動(dòng)滑稽)!所以現(xiàn)在更換了一個(gè)天行機(jī)器人的api接口,這個(gè)接口沒(méi)有太多限制,送的調(diào)用次數(shù)也足夠用,在項(xiàng)目中已經(jīng)開放給大家用了,不過(guò)還是建議大家自己申請(qǐng)一個(gè)賬號(hào)比較好,因?yàn)檫@個(gè)機(jī)器人可以自定義名稱之類的,也可以設(shè)置自己需要的回復(fù)內(nèi)容。
三步走教程
一、安裝node
選擇系統(tǒng)對(duì)應(yīng)版本node下載安裝,win建議.msi包安裝,只需一直下一步即可,其他系統(tǒng)同理;

安裝完成后,按住鍵盤的shift+鼠標(biāo)右鍵,選擇在此處打開命令窗口。在命令行執(zhí)行node -v出現(xiàn)版本號(hào)說(shuō)明安裝成功

二、下載代碼并配置
訪問(wèn)此地址,直接下載zip包到本地桌面,然后解壓;

進(jìn)到目錄中,找到config目錄下的index.js文件


選中index.js文件,右擊選擇打開方式,沒(méi)有安裝代碼編輯器的可以用記事本打開。有代碼編輯器的直接用代碼編輯器打開,建議非開發(fā)人員可以下載一個(gè)notepad++,開發(fā)人員就各自發(fā)揮吧,相信每個(gè)人都有自己用的比較舒服的編輯器我就不推薦了

配置文件中需要修改的地方,女朋友的微信備注姓名NAME必須要換一下,不然你發(fā)給我就不好了??,微信昵稱NICKNAME最好也寫一下,你和女朋友的紀(jì)念日MEMORIAL_DAY就不用說(shuō)了,也要改一下。
如果要發(fā)送天氣信息,女朋友所在城市CITY肯定也是必須修改的,地區(qū)LOCATION不知道怎么拼寫的話,我建議可以查一下墨跡的官網(wǎng)

在墨跡天氣找到對(duì)應(yīng)地區(qū)的天氣后,查看一下網(wǎng)頁(yè)地址欄,綠色標(biāo)記的拼音填入CITY,紅色標(biāo)記的拼音填入LOCATION

每天發(fā)送的時(shí)間SENDDATE,這里的規(guī)則可以參見(jiàn)schedule目錄下的index.js文件。這里0 06 8 * * *代表的是每天的早上8點(diǎn)06分0秒,我們通常只需配置前三個(gè)就可以了。
如果需要開啟機(jī)器人聊天的話,需要把AUTOREPLY設(shè)置為true,這里我放棄了圖靈機(jī)器人,原因上面也說(shuō)了,改用了天行機(jī)器人,但是不要抱太大希望,它并不是那么智能??。目前由于我自己賬號(hào)的api次數(shù)還比較多,就在項(xiàng)目代碼中開放給大家使用了,這里就不放出來(lái),下載代碼后只要修改一下AUTOREPLY就可以自動(dòng)回復(fù)了。
// 配置文件
module.exports = {
// 基礎(chǔ)定時(shí)發(fā)送功能配置項(xiàng)(必填項(xiàng))
NAME: 'Leo_chen', //女朋友備注姓名
NICKNAME: 'Leo_chen', //女朋友昵稱
MEMORIAL_DAY: '2015/04/18', //你和女朋友的紀(jì)念日
CITY: 'shanghai', //女朋友所在城市
LOCATION: "pudong-new-district", //女朋友所在區(qū)(可以訪問(wèn)墨跡天氣網(wǎng)站后,查詢區(qū)的英文拼寫)
SENDDATE: '0 06 8 * * *', //定時(shí)發(fā)送時(shí)間 每天8點(diǎn)0分0秒發(fā)送,規(guī)則見(jiàn) /schedule/index.js
ONE: 'http://wufazhuce.com/', ////ONE的web版網(wǎng)站
MOJI_HOST: 'https://tianqi.moji.com/weather/china/', //中國(guó)墨跡天氣url
//高級(jí)功能配置項(xiàng)(非必填項(xiàng))
AUTOREPLY: true, //自動(dòng)聊天功能 默認(rèn)關(guān)閉
AIBOTAPI: 'http://api.tianapi.com/txapi/robot/', //天行機(jī)器人API 注冊(cè)地址https://www.tianapi.com/signup.html?source=474284281
APIKEY: '天行機(jī)器人apikey', //天行機(jī)器人apikey
}三、開始運(yùn)行程序
配置完成好文件別忘記保存了,保存好就回到項(xiàng)目的主目錄吧。這時(shí)候win系統(tǒng)的話就按住鍵盤的shift+鼠標(biāo)右鍵,選擇在此處打開命令窗口。

然后輸入npm install。

等待安裝完成后輸入npm run start,這時(shí)會(huì)下載一個(gè)文件,因?yàn)楸容^大,所以要多等一下,等待出現(xiàn)二維碼的時(shí)候就可以拿出手機(jī)微信掃一掃登錄了。接下來(lái)就是一頓神對(duì)話了??


如果執(zhí)行npm run start遇到失敗的話,先執(zhí)行npm install wechaty-puppet-puppeteer@^0.17.14 --no-save然后再執(zhí)行npm run start
常見(jiàn)問(wèn)題處理
- 先檢查node版本是否大于10
- 存在package-lock.json文件先刪除
- 刪除node_modules后重新執(zhí)行npm install
我的微信號(hào)無(wú)法登陸
從2017年6月下旬開始,使用基于web版微信接入方案存在大概率的被限制登陸的可能性。 主要表現(xiàn)為:無(wú)法登陸Web 微信,但不影響手機(jī)等其他平臺(tái)。 驗(yàn)證是否被限制登陸: wx.qq.com 上掃碼查看是否能登陸,不能登錄的話,那你可能就無(wú)法用這個(gè)工具了。
執(zhí)行npm run start時(shí)無(wú)法安裝puppet-puppeteer&&Chromium
Centos7下部署出現(xiàn)以下問(wèn)題

解決方案:
#依賴庫(kù) yum install pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 libXrandr.x86_64 GConf2.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 -y #字體 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
3.windows下,下載puppeteer失敗
執(zhí)行一下npm install wechaty-puppet-puppeteer@^0.17.14 --no-save
注意
本項(xiàng)目屬于個(gè)人興趣開發(fā),開源出來(lái)是為了技術(shù)交流,請(qǐng)勿使用此項(xiàng)目做違反微信規(guī)定或者其他違法事情,請(qǐng)勿商用。建議使用小號(hào)進(jìn)行測(cè)試,有被微信封禁網(wǎng)頁(yè)端登錄權(quán)限的風(fēng)險(xiǎn)(客戶端不受影響),請(qǐng)確保自愿使用。因?yàn)閭€(gè)人使用不當(dāng)導(dǎo)致網(wǎng)頁(yè)端登錄權(quán)限被封禁,均與作者無(wú)關(guān),謝謝理解
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
node.js中的fs.lchmodSync方法使用說(shuō)明
這篇文章主要介紹了node.js中的fs.lchmodSync方法使用說(shuō)明,本文介紹了fs.lchmodSync的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下2014-12-12
nodejs安裝與配置過(guò)程+初學(xué)實(shí)例解讀
這篇文章主要介紹了nodejs安裝與配置過(guò)程+初學(xué)實(shí)例解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04
node.js學(xué)習(xí)總結(jié)之調(diào)式代碼的方法
調(diào)式代碼很多時(shí)候類似于查案一樣,只是結(jié)果的重要程度不同,警察查案為的是人民安穩(wěn),而我們調(diào)式則是為了系統(tǒng)的安穩(wěn)。既然這樣我們就不要冤枉任何一段代碼和程序,以免他們受到不合理的懲罰。2014-06-06
Node.js高級(jí)編程cluster環(huán)境及源碼調(diào)試詳解
這篇文章主要為大家介紹了Node.js高級(jí)編程cluster環(huán)境及源碼調(diào)試詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12
從零學(xué)習(xí)node.js之搭建http服務(wù)器(二)
NodeJs是什么我想大家已經(jīng)很了解了,作為一個(gè)前端工程師,想要不斷提升自己,一般都會(huì)接觸到后端服務(wù)器的技術(shù),NodeJs給我們提供了一個(gè)學(xué)習(xí)成本相對(duì)較低的捷徑可走。下面這篇文章主要介紹了node.js中搭建http服務(wù)器的相關(guān)資料,需要的朋友可以參考下。2017-02-02
基于NodeJS的前后端分離的思考與實(shí)踐(二)模版探索
在傳統(tǒng)的開發(fā)模式中,瀏覽器端與服務(wù)器端是由不同的前后端兩個(gè)團(tuán)隊(duì)開發(fā),但是模版卻又在這兩者中間的模糊地帶。因此模版上面總不可避免的越來(lái)越多復(fù)雜邏輯,最終難以維護(hù)。2014-09-09

