#!/usr/bin/env python3 """ 測試通知範例 - 發送所有通知類型的範例到 Telegram 和 Line 讓用戶可以看到實際通知效果並決定是否需要調整 """ import sys import os sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) from services.notification_manager import NotificationManager from datetime import datetime def send_notification_samples(): """發送所有通知範例""" notifier = NotificationManager() print("=" * 60) print("📱 開始發送通知範例...") print("=" * 60) # 1. 商品看板爬蟲更新通知 print("\n1. 發送商品看板爬蟲更新通知...") momo_message = ( "🛍️ 商品看板 更新通知 (2026-01-13 18:30)\n" "詳細數據請參閱儀表板: https://mo.wooo.work\n" "=========================\n" "📈 本日異動摘要:\n" " - ▲ 漲價商品: 217 件\n" " - ▼ 跌價商品: 217 件\n" " - 🟢 新上架: 2 件\n" " - 總處理分類: 85 個\n" " - 總價格記錄: 4,358 筆" ) notifier._send_line_messages([momo_message]) notifier._send_telegram_messages([momo_message]) print(" ✅ 已發送") # 2. EDM 限時搶購更新通知 print("\n2. 發送 EDM 限時搶購更新通知...") edm_message = ( "📊 🔥 限時搶購 更新通知 (2026-01-13 16:19)\n" "完整內容請看:\n" "==================================\n" "https://mo.wooo.work/edm\n" "==================================\n\n" "✨ 本輪重點摘要:\n" " - 🟢 新增商品: 10 件\n" " - 📉 價格下跌: 8 件\n" " - ℹ️ 資訊更新: 15 件\n" " - 🗑️ 商品下架: 5 件\n\n" "--- 📉 價格下跌範例 ---\n\n" "Apple iPhone 15 Pro Max 256GB\n" "💰 $35,900 (▼ 原 $39,900)\n\n" "Sony WH-1000XM5 無線降噪耳機\n" "💰 $8,990 (▼ 原 $10,900)" ) notifier._send_line_messages([edm_message]) notifier._send_telegram_messages([edm_message]) print(" ✅ 已發送") # 3. 購物節活動更新通知 print("\n3. 發送購物節活動更新通知...") festival_message = ( "📊 🎉 1.1狂歡購物節 更新通知 (2026-01-13 19:00)\n" "完整內容請看:\n" "==================================\n" "https://mo.wooo.work/edm\n" "==================================\n\n" "✨ 本輪重點摘要:\n" " - 🟢 新增商品: 25 件\n" " - 📉 價格下跌: 12 件\n" " - 📈 價格上漲: 5 件\n" " - ℹ️ 資訊更新: 8 件\n" " - ⏳ 時段結束: 5 件" ) notifier._send_line_messages([festival_message]) notifier._send_telegram_messages([festival_message]) print(" ✅ 已發送") # 4. Google Drive 自動匯入成功通知 print("\n4. 發送 Google Drive 自動匯入成功通知...") import_success_message = ( "📊 當日業績自動匯入通知 (2026-01-13 14:30)\n" "==============================\n" "✅ 匯入狀態:成功\n" "📁 處理檔案數:2 個\n" "📝 匯入記錄數:1,245 筆\n" "📌 訊息:成功匯入 2 個檔案\n" "==============================\n" "詳細資料請至系統查看" ) notifier._send_line_messages([import_success_message]) notifier._send_telegram_messages([import_success_message]) print(" ✅ 已發送") # 5. Google Drive 自動匯入失敗通知 print("\n5. 發送 Google Drive 自動匯入失敗通知...") import_fail_message = ( "⚠️ 當日業績自動匯入失敗 (2026-01-13 14:30)\n" "==============================\n" "❌ 匯入狀態:失敗\n" "📌 錯誤訊息:Google Drive 連線超時\n" "==============================\n" "請檢查 Google Drive 設定或手動匯入" ) notifier._send_line_messages([import_fail_message]) notifier._send_telegram_messages([import_fail_message]) print(" ✅ 已發送") print("\n" + "=" * 60) print("✅ 已完成的通知範例發送完畢!") print("=" * 60) print("\n請檢查您的 Telegram 和 Line,查看通知效果。") print("\n接下來將發送「建議添加的通知」範例...") print("=" * 60) # 6. 廠商缺貨郵件發送通知(建議添加) print("\n6. 發送廠商缺貨郵件發送通知(建議)...") vendor_email_message = ( "📧 廠商缺貨通知郵件發送報告 (2026-01-13 10:00)\n" "==============================\n" "✅ 發送狀態:完成\n" "📊 總計:\n" " - 成功發送:15 個廠商\n" " - 失敗:2 個廠商\n" " - 缺貨商品總數:87 件\n" "==============================\n\n" "✅ 成功發送廠商(前3名):\n" " - 台灣三星電子(15件)\n" " - 華碩電腦(12件)\n" " - 微星科技(8件)\n\n" "❌ 失敗廠商:\n" " - 廠商A(未設定郵件)\n" " - 廠商B(郵件發送失敗)" ) notifier._send_line_messages([vendor_email_message]) notifier._send_telegram_messages([vendor_email_message]) print(" ✅ 已發送") # 7. 系統錯誤警報通知(建議添加) print("\n7. 發送系統錯誤警報通知(建議)...") error_alert_message = ( "🚨 系統錯誤警報 (2026-01-13 15:30)\n" "==============================\n" "❌ 錯誤類型:爬蟲連續失敗\n" "📌 詳細資訊:\n" " - EDM 爬蟲已連續失敗 3 次\n" " - 最後錯誤:網頁載入超時\n" " - 時間:15:15, 15:20, 15:25\n" "==============================\n" "⚠️ 請立即檢查系統狀態" ) notifier._send_line_messages([error_alert_message]) notifier._send_telegram_messages([error_alert_message]) print(" ✅ 已發送") # 8. 備份完成通知(建議添加) print("\n8. 發送備份完成通知(建議)...") backup_message = ( "💾 系統備份完成通知 (2026-01-13 02:00)\n" "==============================\n" "✅ 備份狀態:成功\n" "📁 備份檔案:momo_pro_system_backup_20260113_020000_V9.4.zip\n" "📦 檔案大小:261 MB\n" "⏱️ 備份時間:35 秒\n" "📍 備份位置:/backups/\n" "==============================" ) notifier._send_line_messages([backup_message]) notifier._send_telegram_messages([backup_message]) print(" ✅ 已發送") # 9. 手動匯入完成通知(建議添加) print("\n9. 發送手動匯入完成通知(建議)...") manual_import_message = ( "📊 手動業績匯入通知 (2026-01-13 16:45)\n" "==============================\n" "✅ 匯入狀態:成功\n" "👤 操作者:管理員\n" "📁 檔案名稱:即時業績_當日_20260113.xlsx\n" "📝 匯入記錄數:1,458 筆\n" "⏱️ 處理時間:2.3 秒\n" "==============================" ) notifier._send_line_messages([manual_import_message]) notifier._send_telegram_messages([manual_import_message]) print(" ✅ 已發送") # 10. 每日系統健康報告(建議添加 - 可選) print("\n10. 發送每日系統健康報告(建議 - 可選)...") daily_health_message = ( "📊 每日系統健康報告 (2026-01-13 08:00)\n" "==============================\n" "✅ 系統狀態:正常運行\n\n" "📈 昨日統計:\n" " - 商品爬蟲:執行 24 次,成功 24 次\n" " - EDM 爬蟲:執行 24 次,成功 23 次\n" " - 自動匯入:執行 48 次,成功 3 次\n\n" "💾 資料庫狀態:\n" " - 資料庫大小:574 MB\n" " - 商品記錄:286,787 筆\n" " - 價格記錄:1,245,678 筆\n\n" "💻 服務器狀態:\n" " - 記憶體使用:1.6GB / 7.8GB (20%)\n" " - 磁碟使用:9.9GB / 20GB (52%)\n" " - CPU 使用率:12%\n" "==============================" ) notifier._send_line_messages([daily_health_message]) notifier._send_telegram_messages([daily_health_message]) print(" ✅ 已發送") print("\n" + "=" * 60) print("🎉 所有通知範例已發送完畢!") print("=" * 60) print("\n請檢查您的 Telegram 和 Line 收到的通知。") print("\n討論要點:") print("1. 通知內容長度是否合適?") print("2. 格式是否易讀?") print("3. Emoji 使用是否恰當?") print("4. 哪些通知是必要的?哪些可以省略?") print("5. 是否需要縮減或調整某些通知的內容?") print("\n等待您的反饋... 😊") if __name__ == "__main__": send_notification_samples()