3Q貢丸 LINE 客服機器人(台灣在地品牌孵化所)的完整部署、維護、除錯與更新技能。 每當用戶提到「3Q貢丸」「品牌孵化」「LINE Bot」「修 bot」「bot 沒回」 「更新路由」「改歡迎訊息」「Rich Menu」「Render 部署」「webhook 不通」 或任何與 3Q貢丸客服機器人有關的任務時,必須使用此技能。
Resources
33Install
npx skillscat add milk790-code/popmonster-vip Install via the SkillsCat registry.
SKILL.md
3Q貢丸 LINE Bot 技能
技術棧
- Python 3.10+ / FastAPI / uvicorn / line-bot-sdk v3
- 雲端: Render Free Plan (Singapore)
- Webhook: /line/webhook
- 版本: v2.1
架構
LINE 使用者
↓ 訊息
LINE Platform → POST /line/webhook
↓
_normalize() 全形→半形 + strip + .lower()
↓
route(text) 優先級 0-A → 9 依序比對
↓
_reply() 統一回覆頂層常數(改一處全生效)
| 常數 | 用途 |
|---|---|
| KW_START_IMAGE | 開始生圖觸發詞 |
| KW_CUSTOMER_SERVICE | 客服觸發詞 |
| KW_BOOKING | 預約觸發詞 |
| KW_PRODUCT_2 | 客製行銷觸發詞 |
| KW_INQUIRY | 服務諮詢觸發詞 |
| KW_PROGRESS | 進度查詢觸發詞 |
| KW_THANKS | 感謝回覆觸發詞 |
| REPLY_RECEIVED_FORM | 十題表收件確認文字 |
| REPLY_TEN_QUESTIONS | 十題探尋表文字 |
要加關鍵字或改回覆文案,只改頂層常數,不進 route()。
路由對照表 (main.py v2.1)
| 優先序 | 常數/條件 | 回覆 |
|---|---|---|
| 0-A | 多行+含≥3編號行 | REPLY_RECEIVED_FORM |
| 0-B | KW_START_IMAGE | REPLY_TEN_QUESTIONS |
| 1 | text == "送出" | REPLY_RECEIVED_FORM |
| 2 | KW_CUSTOMER_SERVICE | 人工小編窗口 |
| 3 | KW_BOOKING 或 "3" | 30分鐘諮詢預約 |
| 4 | "500" / "生圖" / "1" | 500元生圖方案 |
| 5 | KW_PRODUCT_2 或 "2" | 客製行銷方案 |
| 6 | KW_INQUIRY | 兩條服務分流 |
| 7 | KW_PROGRESS | 進度查詢 |
| 8 | KW_THANKS | 暖回覆 |
| 9 | (其他) | _menu() |
部署 SOP
- GitHub Private repo → 上傳所有檔案(不含.env)
- Render → New Web Service → Connect repo → 自動讀 render.yaml
- Render Environment 填 LINE_CHANNEL_SECRET + LINE_CHANNEL_ACCESS_TOKEN
- LINE Developers Console → Webhook URL: https://xxx.onrender.com/line/webhook
- python setup_richmenu.py 建立六格選單
Rich Menu 六格
┌──────────┬──────────┬──────────┐
│ 諮詢服務 │ 500 生圖 │ 行銷方案 │
│ → 諮詢 │ → 500 │ → 行銷 │
├──────────┼──────────┼──────────┤
│ 查進度 │ 客服小編 │ 約諮詢 │
│ → 進度 │ → 客服 │ → 約諮詢 │
└──────────┴──────────┴──────────┘檔案清單
main.py 主程式 v2.1
setup_richmenu.py Rich Menu 一鍵設定
render.yaml Render 自動部署設定
requirements.txt 套件清單
.env.template 環境變數範本
.gitignore 防憑證洩漏
DEPLOY.md 雲端部署 SOP
README.md 專案總覽
SKILL.md 本技能檔
test-checklist.md 測試清單
agent-instructions-A.txt LINE OA 後台清理
install.ps1 / start.ps1 本機備用腳本
assets/ 品牌素材
├ rich-menu-2500x1686.png
├ rich-menu-config.json
├ logo-3qgongwan-800.png
├ welcome-banner-1200x628.png
└ og-image-1200x630.png故障排除
- Bot 沒回 → Render Logs → 環境變數 → Webhook URL 含 /line/webhook
- LINE 預設回覆出現 → LINE OA Manager → Bot mode + 全關自動回應
- 路由錯誤 → 檢查 route() 優先序,上方先攔截
- 關鍵字沒生效 → 確認 _normalize() 有 .lower(),中文不受影響
- Render 睡眠 → cron-job.org 每10分鐘 ping 根路徑 /
常見維護
| 任務 | 操作 |
|---|---|
| 加觸發詞 | 改頂層 KW_* 常數 |
| 改回覆文案 | 改頂層 REPLY_* 或 route() 內 return |
| 加新路由 | route() 內加 if 區塊,注意優先序 |
| 改歡迎訊息 | handle_follow() 內改文字 |
| 換 Rich Menu | 改圖 → 重跑 setup_richmenu.py |
安全紅線
- .env 不上 Git
- Channel Secret / Access Token 不貼對話、不截圖
- 洩漏 → LINE Console Reissue → 更新 Render 環境變數