Files
ewoooc/docs/openclaw_menu_audit_report.md
2026-05-13 12:20:46 +08:00

112 lines
4.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# OpenClaw Telegram 按鈕盤點報表2026-05-012026-05-13 Codex 複核)
## 總覽
- 按鈕總數84`menu:`/`cmd:`/`await:`/`cmd:catdetail` 等)
- 自動回歸測試40 項通過(`pytest -q tests/test_openclaw_bot_menu_keyboards.py tests/test_openclaw_bot_routes_webhook.py tests/test_openclaw_bot_telegram_api.py`2026-05-13
- /menu 顯示與 Callback 編輯流程:已修正為優先編輯原訊息,避免重複傳訊息
- 重複更新處理:新增 update_id 去重,重複 webhook 會直接 `skip`
- `message is not modified`:判斷後不再 fallback 重傳
- V2 callback 盤點再確認OpenClaw 分類按鈕目前使用 `cmd:catdetail:<cat>:<date>`,不是舊式 `cat_<category>``await:date_trend_*``await:goal_*` 皆有 webhook state handler。
## 主選單(`/menu`
| 按鈕 | Callback | 對應子選單 |
|---|---|---|
| 📊 業績查詢 | `menu:sales` | `sales` |
| 🏆 商品廠商 | `menu:products` | `products` |
| 🎯 目標管理 | `menu:goals` | `goals` |
| 📈 智能分析 | `menu:analysis` | `analysis` |
| 📄 簡報報表 | `menu:reports` | `reports` |
| 🌐 市場情報 | `menu:market` | `market` |
| 🔍 競品日報 | `menu:competitor` | `competitor` |
## 快速入口help
| 按鈕 | Callback |
|---|---|
| 📊 快速查詢 | `menu:sales` |
| 🏆 熱銷與廠商 | `menu:products` |
| 🎯 目標管理 | `menu:goals` |
| 📈 智能分析 | `menu:analysis` |
| 🧩 報表簡報 | `menu:reports` |
| 🔍 競品比較 | `menu:competitor` |
## 子選單
### `sales`
- 今日 / 昨日業績:`cmd:sales:<date>`
- 每週業績:`cmd:trend:week`
- 每月業績:`cmd:history:<YYYY/MM>`
- 每季業績:`cmd:trend:quarter`
- 近半年:`cmd:trend:half`
- 趨勢分析:`menu:trend`
- 同期比較:`cmd:compare:<date>`
- 分類業績:`cmd:category:<date>`
- 日期區間輸入:`await:date_range_sales`
- 月份總覽:`cmd:history`
### `products`
- 熱銷商品:`cmd:top:<date>`
- 熱銷廠商:`cmd:vendor:<date>`
- 商品健康:`cmd:health:<date>`
- 昨日商品:`cmd:top:<yesterday>`
- 補貨預測:`cmd:restock`
- 分類鑽取:`menu:category`
- 指定日期:`await:date_top`
### `goals`
- 查看達成率:`cmd:goal`
- 日/月/季/半年/年目標設定:`await:goal_*`
### `analysis`
- 商品策略:`cmd:strategy:<date>`
- 業績趨勢:`menu:trend`
- 商品健康:`cmd:health:<date>`
- 分類業績:`cmd:category:<date>`
- 促銷追蹤:`await:promo_range`
- 補貨預測:`cmd:restock`
- 趨勢圖表:`cmd:chart`
- 同期比較:`cmd:compare:<date>`
- 指定日期:`await:date_analysis`
### `trend`
- 近7日 / 近1個月`cmd:trend:7`, `cmd:trend:month`
- 近3個月 / 近半年:`cmd:trend:quarter`, `cmd:trend:half`
- 本年度:`cmd:trend:year`
- 指定月份:`await:date_trend_month`
- 指定年份:`await:date_trend_year`
- 指定季度:`await:date_trend_quarter`
### `reports`
- 日報 / 週報 / 月報:`cmd:ppt:daily`, `cmd:ppt:weekly`, `cmd:ppt:monthly`
- 下載報表:`cmd:report`
- 策略(日/週/月/季/半年/年):`cmd:ppt:strategy``cmd:ppt:strategy <range>`
- 促銷效益:`await:promo_range`
- 競品比較:`menu:competitor`
- 指定日報 / 指定月報:`await:date_ppt_daily`, `await:date_ppt_monthly`
### `market`
- 電商新聞 / 天氣:`cmd:news`, `cmd:weather`
- Google 熱搜 / Dcard`cmd:trends`, `cmd:dcard`
- 台銀匯率 / 電商節慶:`cmd:exchange`, `cmd:calendar`
- YouTube / AI 狀態:`cmd:youtube`, `cmd:learn`
- 關鍵字比價 / 圖片比價說明:`await:search_compare`, `cmd:photo_search_help`
### `competitor`
- 今日 / 昨日簡報:`cmd:ppt:competitor <today/yesterday>`
- 本週 / 本月 / 本季 / 指定日期比較:`cmd:ppt:competitor <period>``await:date_competitor`
- 進入競品長週期:`menu:competitor_ppt`
### `competitor_ppt`
- 半年 / 年比較:`cmd:ppt:competitor half`, `cmd:ppt:competitor yearly`
- 返回:`menu:competitor`
### `category`
- 固定 L1 分類:`cmd:catdetail:<cat>:<date>`
- 全分類清單:`cmd:category:<date>`
## 補充狀態
1. ✅ 所有回傳 `menu:` 的 callback 都有對應 `_SUBMENUS`
2.`/menu`、回呼選單、`await:` 狀態機都已有回歸測試。
3. ✅ 簡報快取:同參數請求先讀 DB命中則直接回傳既有 PPT未命中才生成並寫入 DB。
4. ✅ 重複 /callback 重送與 Telegram 「message is not modified」重複訊息已降噪。
5.`cmd:catdetail``await:date_trend_*``await:goal_*` 已由回歸測試與程式碼路徑覆蓋;若未來新增 callback prefix需同步補 handler 與 `tests/test_openclaw_bot_*`