cwadayi commited on
Commit
8ac5ed8
·
verified ·
1 Parent(s): 2ba335d

Update command_handler.py

Browse files
Files changed (1) hide show
  1. command_handler.py +11 -9
command_handler.py CHANGED
@@ -7,7 +7,6 @@ from cwa_service import fetch_cwa_alarm_list, fetch_significant_earthquakes
7
  from usgs_service import fetch_global_last24h_text, fetch_taiwan_df_this_year
8
  from plotting_service import create_and_save_map
9
  from ai_service import generate_ai_text
10
- # [移除] from weather_service import fetch_forecast_by_location
11
  from config import CURRENT_YEAR, HF_SPACE_URL
12
 
13
  def get_help_message() -> TextMessage:
@@ -21,7 +20,7 @@ def get_help_message() -> TextMessage:
21
  "• /alert - 獲取 CWA 最新地震預警\n"
22
  "• /significant - CWA 最新顯著有感地震\n\n"
23
  "【AI 與工具】\n"
24
- "• /ai <問題> - 與 AI 助理對話\n\n" # [移除] /weather 指令說明
25
  "【基本指令】\n"
26
  "• /info - 關於此機器人\n"
27
  "• /help - 顯示此說明"
@@ -32,7 +31,7 @@ def get_info_message() -> TextMessage:
32
  """回傳機器人資訊。"""
33
  text = (
34
  "🤖 關於我\n\n"
35
- "我是一個多功能助理機器人,提供地震查詢與 AI 對話功能。\n\n" # [修改] 更新功能描述
36
  "• 版本: 2.2\n"
37
  "• 資料來源: CWA, USGS, Hugging Face\n"
38
  "• 開發者: dayichen"
@@ -60,15 +59,19 @@ def get_taiwan_earthquake_list() -> TextMessage:
60
  return TextMessage(text=reply_text)
61
 
62
  def get_taiwan_earthquake_map(base_url: str) -> list:
63
- """產生並回傳台灣地震地圖的訊息。"""
64
  result = fetch_taiwan_df_this_year()
65
  if isinstance(result, pd.DataFrame):
66
  filename = create_and_save_map(result)
67
  image_url = f"{(HF_SPACE_URL or base_url)}/static/{filename}"
68
- return [
69
- TextMessage(text="🗺️ 已為您繪製今年台灣區域 M≥5.0 地震分佈圖(UTC)。"),
70
- ImageMessage(original_content_url=image_url, preview_image_url=image_url),
71
- ]
 
 
 
 
72
  else:
73
  return [TextMessage(text=result)]
74
 
@@ -105,7 +108,6 @@ def process_message(user_message_raw: str, request_base_url: str) -> list:
105
  return [TextMessage(text=fetch_cwa_alarm_list(limit=5))]
106
  elif command == '/significant':
107
  return [TextMessage(text=fetch_significant_earthquakes(limit=5))]
108
- # [移除] elif command == '/weather': ...
109
  elif command == '/ai':
110
  if not arg:
111
  return [TextMessage(text="請輸入問題,例如:/ai 台灣最高的山是哪座?")]
 
7
  from usgs_service import fetch_global_last24h_text, fetch_taiwan_df_this_year
8
  from plotting_service import create_and_save_map
9
  from ai_service import generate_ai_text
 
10
  from config import CURRENT_YEAR, HF_SPACE_URL
11
 
12
  def get_help_message() -> TextMessage:
 
20
  "• /alert - 獲取 CWA 最新地震預警\n"
21
  "• /significant - CWA 最新顯著有感地震\n\n"
22
  "【AI 與工具】\n"
23
+ "• /ai <問題> - 與 AI 助理對話\n\n"
24
  "【基本指令】\n"
25
  "• /info - 關於此機器人\n"
26
  "• /help - 顯示此說明"
 
31
  """回傳機器人資訊。"""
32
  text = (
33
  "🤖 關於我\n\n"
34
+ "我是一個多功能助理機器人,提供地震查詢與 AI 對話功能。\n\n"
35
  "• 版本: 2.2\n"
36
  "• 資料來源: CWA, USGS, Hugging Face\n"
37
  "• 開發者: dayichen"
 
59
  return TextMessage(text=reply_text)
60
 
61
  def get_taiwan_earthquake_map(base_url: str) -> list:
62
+ """[修改] 產生地震地圖,並回傳包含連結的文字訊息。"""
63
  result = fetch_taiwan_df_this_year()
64
  if isinstance(result, pd.DataFrame):
65
  filename = create_and_save_map(result)
66
  image_url = f"{(HF_SPACE_URL or base_url)}/static/{filename}"
67
+
68
+ # 將回覆內容從圖片訊息改為包含連結的文字訊息
69
+ reply_text = (
70
+ "🗺️ 已為您繪製地震分佈圖。\n\n"
71
+ "請點擊以下連結查看圖片:\n"
72
+ f"{image_url}"
73
+ )
74
+ return [TextMessage(text=reply_text)]
75
  else:
76
  return [TextMessage(text=result)]
77
 
 
108
  return [TextMessage(text=fetch_cwa_alarm_list(limit=5))]
109
  elif command == '/significant':
110
  return [TextMessage(text=fetch_significant_earthquakes(limit=5))]
 
111
  elif command == '/ai':
112
  if not arg:
113
  return [TextMessage(text="請輸入問題,例如:/ai 台灣最高的山是哪座?")]