feat: implement a rule-based weather/market alert engine with functions for momentum, forecast breakthrough, and kill zone alerts.

This commit is contained in:
2569718930@qq.com
2026-03-06 10:37:18 +08:00
parent 186e5e0c5a
commit bec76e3977
+5 -2
View File
@@ -527,6 +527,7 @@ def _build_telegram_messages(
if current_temp is None:
return {"zh": "", "en": ""}
has_active_trigger = any(rule.get("triggered") for rule in rules.values())
types_cn = _join_trigger_types_cn(rules) or "盘口异动"
delta_temp = _sf(momentum.get("delta_temp"))
delta_min = momentum.get("delta_minutes")
@@ -569,9 +570,11 @@ def _build_telegram_messages(
advice = _build_advice_cn(rules, temp_symbol)
final_map = map_url or "https://polyweather-pro.vercel.app/"
title_zh = "🚨 PolyWeather 异动预警" if has_active_trigger else "📍 PolyWeather 状态快照"
title_en = "🚨 PolyWeather Alert" if has_active_trigger else "📍 PolyWeather Status"
lines_zh = [
f"🚨 PolyWeather 异动预警 [{city_name}]",
f"{title_zh} [{city_name}]",
"",
f"类型:{types_cn}",
f"动态:{dyn}",
@@ -597,7 +600,7 @@ def _build_telegram_messages(
type_en_str = " + ".join(type_en) or "Market anomaly"
lines_en = [
f"🚨 PolyWeather Alert [{city_name}]",
f"{title_en} [{city_name}]",
"",
f"Type: {type_en_str}",
f"Now: {current_temp:.1f}{temp_symbol}",