Skip to content

tyler-tsai/notifier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lnb_notify

簡介

投資信用貸款平台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 小筆記

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執行的狀態

IFTTT webhooks 設定說明

  • 打開自己的 webhooks 服務
  • 點擊右上角的設定
  • send Message 的 Recipient 選擇要送通知的人或群組
  • send Message 的 Message 為通知格式,與此處對應
{{Value1}}<br />
{{Value2}}<br />
{{Value3}}

codebase 說明

  • 主程式連結
  • 獲取 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

About

The easiest way to build a push-message system

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •