三分鐘教你用Node做一個(gè)微信哄女友神器(面向小白)
項(xiàng)目介紹
本文介紹項(xiàng)目是用node和wechaty微信網(wǎng)頁(yè)接口開(kāi)發(fā)的一款小工具,可以定時(shí)給女朋友發(fā)每天的天氣情況,天氣提醒,每日一句。通過(guò)配置機(jī)器人api后還可以實(shí)現(xiàn)微信機(jī)器人自動(dòng)陪女朋友聊天。
項(xiàng)目地址
效果預(yù)覽
在三步走教學(xué)之前,先放上效果看一下
可以看到在指定的時(shí)間就會(huì)收到發(fā)送的消息,包括天氣信息,天氣提醒,還有你們?cè)谝黄鸲嗌偬炝恕.?dāng)開(kāi)啟機(jī)器人后,女朋友就可以和小助手對(duì)話(huà)了,不過(guò)目前開(kāi)源機(jī)器人的api都不是非常的智能,匹配的語(yǔ)義可能不是那么準(zhǔn)確。所以有時(shí)候女朋友生氣了,千萬(wàn)記得不要開(kāi)啟機(jī)器人!
此項(xiàng)目前期使用的是圖靈機(jī)器人,但是最近圖靈機(jī)器人做了限制,沒(méi)有認(rèn)證的用戶(hù)不允許調(diào)取API,認(rèn)證的用戶(hù)每天也只有100條,這就很雞肋了,女朋友還沒(méi)哄過(guò)癮呢就被限制了,這是很可怕的(手動(dòng)滑稽)!所以現(xiàn)在更換了一個(gè)天行機(jī)器人的api接口,這個(gè)接口沒(méi)有太多限制,送的調(diào)用次數(shù)也足夠用,在項(xiàng)目中已經(jīng)開(kāi)放給大家用了,不過(guò)還是建議大家自己申請(qǐng)一個(gè)賬號(hào)比較好,因?yàn)檫@個(gè)機(jī)器人可以自定義名稱(chēng)之類(lèi)的,也可以設(shè)置自己需要的回復(fù)內(nèi)容。
三步走教程
一、安裝node
選擇系統(tǒng)對(duì)應(yīng)版本node下載安裝,win建議.msi包安裝,只需一直下一步即可,其他系統(tǒng)同理;
安裝完成后,按住鍵盤(pán)的shift+鼠標(biāo)右鍵,選擇在此處打開(kāi)命令窗口。在命令行執(zhí)行node -v出現(xiàn)版本號(hào)說(shuō)明安裝成功
二、下載代碼并配置
訪(fǎng)問(wèn)此地址,直接下載zip包到本地桌面,然后解壓;
進(jìn)到目錄中,找到config目錄下的index.js文件
選中index.js文件,右擊選擇打開(kāi)方式,沒(méi)有安裝代碼編輯器的可以用記事本打開(kāi)。有代碼編輯器的直接用代碼編輯器打開(kāi),建議非開(kāi)發(fā)人員可以下載一個(gè)notepad++,開(kāi)發(fā)人員就各自發(fā)揮吧,相信每個(gè)人都有自己用的比較舒服的編輯器我就不推薦了
配置文件中需要修改的地方,女朋友的微信備注姓名NAME必須要換一下,不然你發(fā)給我就不好了??,微信昵稱(chēng)NICKNAME最好也寫(xiě)一下,你和女朋友的紀(jì)念日MEMORIAL_DAY就不用說(shuō)了,也要改一下。
如果要發(fā)送天氣信息,女朋友所在城市CITY肯定也是必須修改的,地區(qū)LOCATION不知道怎么拼寫(xiě)的話(huà),我建議可以查一下墨跡的官網(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è)就可以了。
如果需要開(kāi)啟機(jī)器人聊天的話(huà),需要把AUTOREPLY設(shè)置為true,這里我放棄了圖靈機(jī)器人,原因上面也說(shuō)了,改用了天行機(jī)器人,但是不要抱太大希望,它并不是那么智能??。目前由于我自己賬號(hào)的api次數(shù)還比較多,就在項(xiàng)目代碼中開(kāi)放給大家使用了,這里就不放出來(lái),下載代碼后只要修改一下AUTOREPLY就可以自動(dòng)回復(fù)了。
// 配置文件 module.exports = { // 基礎(chǔ)定時(shí)發(fā)送功能配置項(xiàng)(必填項(xiàng)) NAME: 'Leo_chen', //女朋友備注姓名 NICKNAME: 'Leo_chen', //女朋友昵稱(chēng) MEMORIAL_DAY: '2015/04/18', //你和女朋友的紀(jì)念日 CITY: 'shanghai', //女朋友所在城市 LOCATION: "pudong-new-district", //女朋友所在區(qū)(可以訪(fǎng)問(wèn)墨跡天氣網(wǎng)站后,查詢(xún)區(qū)的英文拼寫(xiě)) 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 }
三、開(kāi)始運(yùn)行程序
配置完成好文件別忘記保存了,保存好就回到項(xiàng)目的主目錄吧。這時(shí)候win系統(tǒng)的話(huà)就按住鍵盤(pán)的shift+鼠標(biāo)右鍵,選擇在此處打開(kāi)命令窗口。
然后輸入npm install。
等待安裝完成后輸入npm run start,這時(shí)會(huì)下載一個(gè)文件,因?yàn)楸容^大,所以要多等一下,等待出現(xiàn)二維碼的時(shí)候就可以拿出手機(jī)微信掃一掃登錄了。接下來(lái)就是一頓神對(duì)話(huà)了??
如果執(zhí)行npm run start遇到失敗的話(huà),先執(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月下旬開(kāi)始,使用基于web版微信接入方案存在大概率的被限制登陸的可能性。 主要表現(xiàn)為:無(wú)法登陸Web 微信,但不影響手機(jī)等其他平臺(tái)。 驗(yàn)證是否被限制登陸: wx.qq.com 上掃碼查看是否能登陸,不能登錄的話(huà),那你可能就無(wú)法用這個(gè)工具了。
執(zhí)行npm run start時(shí)無(wú)法安裝puppet-puppeteer&&Chromium
Centos7下部署出現(xiàn)以下問(wèn)題
解決方案:
#依賴(lài)庫(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è)人興趣開(kāi)發(fā),開(kāi)源出來(lái)是為了技術(shù)交流,請(qǐng)勿使用此項(xiàng)目做違反微信規(guī)定或者其他違法事情,請(qǐng)勿商用。建議使用小號(hào)進(jìn)行測(cè)試,有被微信封禁網(wǎng)頁(yè)端登錄權(quán)限的風(fēng)險(xiǎn)(客戶(hù)端不受影響),請(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中express中間件body-parser的介紹與用法詳解
這篇文章主要給大家介紹了關(guān)于node.js中express中間件body-parser的相關(guān)資料,文章通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-05-05讓你的Node.js應(yīng)用程序處理數(shù)百萬(wàn)的API請(qǐng)求技巧
歡迎閱讀關(guān)于優(yōu)化 NodeJS 應(yīng)用以處理數(shù)百萬(wàn) API 請(qǐng)求的終極指南,如果你是一名開(kāi)發(fā)人員,希望擴(kuò)展應(yīng)用,那么你來(lái)對(duì)地方了,在這篇博客中,我們將深入研究最佳實(shí)踐和技術(shù),幫助你處理高流量負(fù)載,確保應(yīng)用保持性能和響應(yīng)速度2023-10-10Node.js + express實(shí)現(xiàn)上傳大文件的方法分析【圖片、文本文件】
這篇文章主要介紹了Node.js + express實(shí)現(xiàn)上傳大文件的方法,結(jié)合實(shí)例形式分析了Node.js + express針對(duì)圖片、文本文件上傳操作實(shí)現(xiàn)方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-03-03express項(xiàng)目文件目錄說(shuō)明以及功能描述詳解
這篇文章主要給大家介紹了關(guān)于express項(xiàng)目文件目錄說(shuō)明以及功能描述的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04express如何解決ajax跨域訪(fǎng)問(wèn)session失效問(wèn)題詳解
這篇文章主要給大家介紹了關(guān)于express如何解決ajax跨域訪(fǎng)問(wèn)session失效問(wèn)題的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06實(shí)戰(zhàn)node靜態(tài)文件服務(wù)器的示例代碼
本篇文章主要介紹了實(shí)戰(zhàn)node靜態(tài)文件服務(wù)器的示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03Node.js發(fā)起HTTP請(qǐng)求的6種不同方法小結(jié)
本文主要介紹了Node.js發(fā)起HTTP請(qǐng)求的6種不同方法小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03