投資信用貸款平台LNB時,常常沒空瀏覽網頁而錯過優質案件,使用這個 notifier 在新案件上架時能夠在 line 收到通知,即時挑選有興趣的案件。
- IFTTT - IFTTT,是一個新生的網絡服務平台,通過其他不同平台的條件來決定是否執行下一條命令。即對網絡服務通過其他網絡服務作出反應。
- Heroku - Heroku是一個支援多種程式語言的雲平台即服務。
- Node.js - Node.js是一個能夠在伺服器端運行JavaScript的開放原始碼、跨平台JavaScript執行環境。
- 建立IFTTT帳號
- 將 IFTTT 與 Line 進行連結
- 在 IFTTT 使用者導覽列的地方,點擊 create
- 出現 if this then that,this 選擇 webhooks,that 選擇 line
- 獲取 webhooks 的 url
- 完成 codebase
- 上傳 codebase 到 heroku,使用他們的 worker 服務
-
首先註冊heroku帳號
-
建立一個空專案
-
自行建立一個nodejs projec在本地端後,上傳到heroku
$ cd ~/my-project //在my-project裡建立一個node.js專案 $ npm install //安裝package "request" $ npm install request //創建一個case.json檔案,格式必須是 {"caseString":[]} $ echo '{"caseString":[]}' > test.json //創建Procfile,告訴heroku使用worker $ echo 'worker: node index.js' > Procfile //創建 index.js,將主程式貼上 //上傳至heroku $ git add . $ git commit 'first commit' $ git push heroku master
關於如何使用 heroku CLI ,可參考 官方文件
你也可以將 heroku 專案綁定 github 的 repository,完成 CD
-
Heroku runs one web dyno for you automatically, but other process types don’t start by default. To launch a worker, you need to scale it up to one dyno
- 上傳到 heroku 後,不會自動啟動 worker,讓我們在 CLI 輸入以下指令
$ heroku ps:scale worker=1 # 讓worker開始運作
$ heroku logs --tail -a [專案名] # 可以查看目前worker執行的狀態
- 打開自己的 webhooks 服務
- 點擊右上角的設定
- send Message 的 Recipient 選擇要送通知的人或群組
- send Message 的 Message 為通知格式,與此處對應
{{Value1}}<br />
{{Value2}}<br />
{{Value3}}
- 主程式連結
- 獲取 lnb 申貸列表
apr_min為最低利率
per_page為每頁獲取案件數
page為獲取頁數
order_by及order_dir為排序方式
https://www.lnb.com.tw/api/market-place?apr_min=8&source=complex&page=1&per_page=50&order_by=back_before&order_dir=desc&sendback=4
-
將需要推播的資料打進從 IFTTT 拿到的 webhooks URL
-
需與 webhooks 服務設定的格式對應
request.post("https://maker.ifttt.com/trigger/{name}/with/key/{key}", {
form: {
value1: `<br>🔔利率 : ${apr}(${lender_irr}) <br>🔔期數 : ${period} <br><br>${purpose}/${
loan_detail.age !== null ? loan_detail.age : "不能說的秘密"
}(${loan_detail.gender === "male" ? "男" : "女"})/${
loan_detail.company_title
}(${loan_detail.company_seniority})<br>`,
value2: description,
value3: "<br>🔔前往投資:https://www.lnb.com.tw/market-place/loan/" + serial
}
});
參考資源 https://www.oxxostudio.tw/articles/201803/ifttt-line.html