本專案為透過 Cloudflare service (免費方案) 與 Line Notify (也是免費方案) 結合的 591 房屋資訊通知小幫手。
可以依照特定租屋條件在 Line 上進行新物件與物件降價的推播通知,不再需要頻繁開 App 找物件,還能在第一時間獲取資訊、搶先於他人和房東聯絡。
- Cloudflare worker (cloudflare 提供的 serverless app service,類似於 GCP Cloud Run / AWS Fargate)
- Cloudflare D1 (Cloudflare serverless SQL,可以把它當作 SQLite)
- Line Notify (作為單方面傳送通知的 API / Webhook)
- 開放針對特定預售屋推案進行追蹤,若有資訊更新進行推播通知
- 依照特定進行新成屋、中古屋的推播通知
- 下載 npm
- 下載 Node.js (可使用 nvm 安裝 Node.js 進行版本管理與切換)
- 註冊 Cloudflare 帳號
- 擁有一個 Line 帳號
- 擷取專案後,複製一份
wrangler.toml.sample
並改名為wrangler.toml
,此為 cloudflare 需要的設定檔 - 建立 Cloudflare D1,在當前路徑執行:
↓ 獲得以下資訊,貼到
npx wrangler d1 create house_browser
wrangler.toml
中取代原本的 [[d1_databases]] 設定執行以下指令,將本專案的 DB Schema 建立到你 的 cloudflare D1 DB house_browser 上[[d1_databases]] binding = "DB" # i.e. available in your Worker on env.DB database_name = "house_browser" database_id = "__YOUR_D1_DATABASE_ID__"
npx wrangler d1 migrations apply house_browser --remote
- 接著執行
npx wrangler deploy
部署 worker 到 cloudflare 上 - 進入 Line Notify 登入後點擊 發行權杖 按鈕 設定 Notify 名稱與對應通知群組後將 Token 記下來(沒有存下來就再也看不到了,需要重新申請喔)
-
進入 Cloudflare 儀表板 選擇 Workers & Pages 再點擊 D1,你會看到在前面建立的 house_browser DB,進入 Config table 並新增上方獲得的 Token 於 lineNotifyToken 欄位,目前一次僅能新增一筆 Config,也就是所有通知接會從相同 Notify Account 發送
-
前往 591 租屋 並將自己的條件勾選 / 輸入完畢後,複製上方的完整網址,將網址新增於 houser_browser DB 中的 RentCondition table 中,同時可以包含多筆不同的條件 URL,name 為幫助自己管理的條件說明
-
(Optional) 前往 house-browser worker -> Setting -> Triggers -> Cron Triggers,可以看到目前腳本的執行頻率設定,預設為六小時執行一次,若想要更改頻率可以在此進行改動或新增規則
-
若有腳本有順利執行,就會在 Line 上看到通知訊息囉