Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -92,7 +92,7 @@ def fetch_earthquake_data_for_line():
|
|
| 92 |
return f"❌ 處理資料時發生未知錯誤: {e}"
|
| 93 |
|
| 94 |
|
| 95 |
-
# --- 「臺灣地震」查詢函式
|
| 96 |
def fetch_taiwan_earthquake_data():
|
| 97 |
"""查詢今年以來,台灣地區規模 5.0 以上的地震。"""
|
| 98 |
now = datetime.now()
|
|
@@ -104,12 +104,10 @@ def fetch_taiwan_earthquake_data():
|
|
| 104 |
"starttime": start_of_year,
|
| 105 |
"endtime": today_str,
|
| 106 |
"minmagnitude": 5.0,
|
| 107 |
-
# --- ✨✨✨ 座標已根據您的要求更新 ✨✨✨ ---
|
| 108 |
"minlatitude": 21,
|
| 109 |
"maxlatitude": 26,
|
| 110 |
"minlongitude": 119,
|
| 111 |
"maxlongitude": 123,
|
| 112 |
-
# --- ------------------------------------ ---
|
| 113 |
"limit": 100,
|
| 114 |
"orderby": "time"
|
| 115 |
}
|
|
@@ -162,19 +160,38 @@ def callback():
|
|
| 162 |
return 'OK'
|
| 163 |
|
| 164 |
|
| 165 |
-
# --- LINE 訊息處理 ---
|
| 166 |
@handler.add(MessageEvent, message=TextMessageContent)
|
| 167 |
def handle_message(event):
|
| 168 |
-
user_message = event.message.text.strip()
|
| 169 |
reply_text = ""
|
| 170 |
|
| 171 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 172 |
reply_text = fetch_taiwan_earthquake_data()
|
| 173 |
-
elif "地震" in user_message or "quake" in user_message
|
| 174 |
reply_text = fetch_earthquake_data_for_line()
|
| 175 |
-
elif "你好" in user_message or "hi" in user_message
|
| 176 |
-
reply_text = "👋 你好!我是地震查詢機器人。\n
|
| 177 |
else:
|
|
|
|
|
|
|
| 178 |
return
|
| 179 |
|
| 180 |
with ApiClient(configuration) as api_client:
|
|
|
|
| 92 |
return f"❌ 處理資料時發生未知錯誤: {e}"
|
| 93 |
|
| 94 |
|
| 95 |
+
# --- 「臺灣地震」查詢函式 ---
|
| 96 |
def fetch_taiwan_earthquake_data():
|
| 97 |
"""查詢今年以來,台灣地區規模 5.0 以上的地震。"""
|
| 98 |
now = datetime.now()
|
|
|
|
| 104 |
"starttime": start_of_year,
|
| 105 |
"endtime": today_str,
|
| 106 |
"minmagnitude": 5.0,
|
|
|
|
| 107 |
"minlatitude": 21,
|
| 108 |
"maxlatitude": 26,
|
| 109 |
"minlongitude": 119,
|
| 110 |
"maxlongitude": 123,
|
|
|
|
| 111 |
"limit": 100,
|
| 112 |
"orderby": "time"
|
| 113 |
}
|
|
|
|
| 160 |
return 'OK'
|
| 161 |
|
| 162 |
|
| 163 |
+
# --- LINE 訊息處理 (有修改) ---
|
| 164 |
@handler.add(MessageEvent, message=TextMessageContent)
|
| 165 |
def handle_message(event):
|
| 166 |
+
user_message = event.message.text.strip().lower() # 統一轉為小寫以便比對
|
| 167 |
reply_text = ""
|
| 168 |
|
| 169 |
+
# --- ✨✨✨ 修改點:新增 /help 指令 ✨✨✨ ---
|
| 170 |
+
if user_message == "/help":
|
| 171 |
+
reply_text = """📖 地震預警dayichen 指令說明
|
| 172 |
+
|
| 173 |
+
您可以傳送以下指令來與我互動:
|
| 174 |
+
|
| 175 |
+
➡️ /help
|
| 176 |
+
說明:顯示此幫助訊息,列出所有可用指令。
|
| 177 |
+
|
| 178 |
+
➡️ 地震
|
| 179 |
+
說明:查詢全球最近 24 小時內,芮氏規模 5.0 以上的顯著地震。
|
| 180 |
+
|
| 181 |
+
➡️ 臺灣地震 (或 台灣地震)
|
| 182 |
+
說明:查詢今年以來,在台灣區域 (緯度 21-26°, 經度 119-123°) 發生的芮氏規模 5.0 以上地震。
|
| 183 |
+
|
| 184 |
+
➡️ 你好
|
| 185 |
+
說明:顯示歡迎訊息。"""
|
| 186 |
+
elif "臺灣地震" in user_message or "台灣地震" in user_message:
|
| 187 |
reply_text = fetch_taiwan_earthquake_data()
|
| 188 |
+
elif "地震" in user_message or "quake" in user_message:
|
| 189 |
reply_text = fetch_earthquake_data_for_line()
|
| 190 |
+
elif "你好" in user_message or "hi" in user_message:
|
| 191 |
+
reply_text = "👋 你好!我是地震查詢機器人。\n\n試著傳送「地震」或「臺灣地震」,或輸入 /help 查看所有指令。"
|
| 192 |
else:
|
| 193 |
+
# 如果不是已知的指令,可以選擇不回覆,或回覆提示訊息
|
| 194 |
+
# reply_text = f"無法識別指令「{event.message.text}」。\n請輸入 /help 查看所有可用指令。"
|
| 195 |
return
|
| 196 |
|
| 197 |
with ApiClient(configuration) as api_client:
|