diff --git a/src/utils/telegram_push.py b/src/utils/telegram_push.py index 0e723b0a..26a9eeb4 100644 --- a/src/utils/telegram_push.py +++ b/src/utils/telegram_push.py @@ -737,16 +737,17 @@ def _build_airport_status_message( runway_data = (amos.get("runway_obs") or {}) if amos else {} runway_pairs = runway_data.get("runway_pairs") or [] runway_temps = runway_data.get("temperatures") or [] - current = city_weather.get("current") or {} - temp = current.get("temp") + # Non-AMOS cities: get temp from airport station (stored in mgm_nearby), not METAR + mgm_nearby = city_weather.get("mgm_nearby") or [] + station_temp = mgm_nearby[0].get("temp") if mgm_nearby else None lines = [label, ""] if runway_pairs and runway_temps and len(runway_pairs) == len(runway_temps): for (r1, r2), (t, _d) in zip(runway_pairs, runway_temps): lines.append(f"{r1}/{r2} {t:.1f}°C") - elif temp is not None: + elif station_temp is not None: time_suffix = f" ({local_time})" if local_time else "" - lines.append(f"{temp:.1f}°C{time_suffix}") + lines.append(f"{station_temp:.1f}°C{time_suffix}") if deb_pred is not None: lines.append(f"DEB 最高 {deb_pred:.1f}°C") return "\n".join(lines)