Skip to content

Latest commit

 

History

History
96 lines (73 loc) · 3.75 KB

File metadata and controls

96 lines (73 loc) · 3.75 KB

✅ 部署檢查清單(一頁搞定)

照順序打勾,每一步都附「怎麼確認成功」。全部打完就能上線。


0. 事前準備

  • 已取得 LINE_CHANNEL_SECRETLINE_CHANNEL_ACCESS_TOKENGEMINI_API_KEY
  • (建議)已在 Neon 或 Supabase 開好免費 Postgres,拿到 DATABASE_URL
  • 程式已推上 GitHub 或上傳到部署平台

1. 部署服務

  • 平台建立 Web Service
  • Start Command:gunicorn app:app --bind 0.0.0.0:$PORT
  • 環境變數都填好(見下表)
變數 必填 沒設的後果
LINE_CHANNEL_SECRET webhook 簽章驗證失敗,完全沒回應
LINE_CHANNEL_ACCESS_TOKEN 無法回訊息
GEMINI_API_KEY 中文股名查不到、沒有新聞/展望
DATABASE_URL 🟡 自選/提醒重新部署後會消失
CRON_SECRET 到價提醒端點沒有保護

✔ 怎麼確認: 用瀏覽器打開 https://你的網址/,應該回一段 JSON:

{"ok": true, "line_secret": true, "line_token": true, "gemini": true, "model": "gemini-2.5-flash"}

只要有任何一項是 false,就是那個環境變數沒設好 → 回上一步補上。


2. LINE Webhook

  • LINE Developers → 你的 Channel → Messaging API
  • Webhook URL 填 https://你的網址/callback
  • Verify → 顯示 Success
  • 打開 Use webhook
  • LINE Official Account Manager → 回應設定 → 關閉「自動回應訊息」(不然會蓋掉機器人)

✔ 怎麼確認: 加機器人好友,傳 2330,應收到台積電的 Flex 圖卡(含走勢圖)。

AAPL 也試一次,確認美股正常。


3. Gemini(新聞 / 展望 / 中文股名)

  • 步驟 1 的健康檢查 gemini 已是 true

✔ 怎麼確認:台積電(中文名),若能回圖卡且有「📰 最新新聞 / 🔮 分析與展望」,代表 Gemini 正常。

若中文名查不到但 2330 可以 → 通常就是 GEMINI_API_KEY 沒吃到。


4. 資料庫(自選 / 提醒持久化)

  • DATABASE_URL 已填(Neon / Supabase)

✔ 怎麼確認: 查一檔股票 → 點「⭐ 加入自選」→ 傳 自選 應看到它。

進階:到平台手動 Redeploy 一次,再傳 自選,資料若還在 = Postgres 生效。 若沒設 DATABASE_URL,資料存本機 JSON,Redeploy 後會清空(屬正常)。


5. 到價提醒排程

  • 到 cron-job.org(或 Render Cron)建立排程
  • 目標:POST https://你的網址/tasks/check-alerts
  • 若有設 CRON_SECRET → 加 Header X-Cron-Secret: <你的值>
  • 頻率:每 5~15 分鐘

✔ 怎麼確認: 先手動測一次:

curl -X POST https://你的網址/tasks/check-alerts -H "X-Cron-Secret: <你的值>"
# 應回 {"ok": true, "triggered": 0}

實測:設一個很容易觸發的提醒(例:提醒 2330 1,代表跌到 1 元才觸發 → 改成現價附近的數字),等排程跑到就會收到推播。


🧪 上線前跑一次測試(選用但推薦)

pip install -r requirements.txt
python test_bot.py        # 或 pytest test_bot.py -v

應顯示 19/19 通過


常見狀況速查

症狀 最可能原因
完全不回應 Webhook 沒開 / 自動回應沒關 / LINE_CHANNEL_SECRET
連 AAPL 都查不到 Yahoo 被機房 IP 限流(已有 Gemini 備援,偶發時稍等重試)
中文名查不到、沒新聞 GEMINI_API_KEY 沒設或設錯
自選/提醒會消失 沒設 DATABASE_URL(存在暫時性檔案)
提醒不會通知 排程沒設 / CRON_SECRET 對不上
第一次查很慢 免費方案休眠喚醒 + Gemini 搜網,屬正常