feat: add multi-source weather data collector for OpenWeatherMap, Visual Crossing, and NOAA METAR, integrating it for bot use.

This commit is contained in:
2569718930@qq.com
2026-02-08 18:13:03 +08:00
parent accdb5104b
commit be09c6384f
2 changed files with 21 additions and 9 deletions
+6 -2
View File
@@ -339,14 +339,18 @@ class WeatherDataCollector:
if data:
latest = data[0] if isinstance(data, list) else data
# MGM 数据字段映射
# ruzgarHiz 通常为 m/s 或 km/h,根据用户反馈这里使用 m/s 逻辑
ruz_hiz = latest.get("ruzgarHiz", 0)
results["current"] = {
"temp": latest.get("sicaklik"),
"feels_like": latest.get("hissedilenSicaklik") or latest.get("sicaklik"),
"humidity": latest.get("nem"),
"wind_speed_kt": round(latest.get("ruzgarHiz", 0) * 1.94, 1) if latest.get("ruzgarHiz") is not None else None,
"wind_speed_ms": ruz_hiz,
"wind_speed_kt": round(ruz_hiz * 1.94, 1) if ruz_hiz is not None else None, # 如果是 m/s 转 kt
"wind_dir": latest.get("ruzgarYon"),
"rain_24h": latest.get("toplamYagis"),
"time": latest.get("veriZamani"),
"station_name": latest.get("istasyonAd")
"station_name": latest.get("istasyonAd") or latest.get("adi") or latest.get("merkezAd") or "Ankara Esenboğa"
}
# 2. 每日预报