Ana içeriğe atla

Kanal konum ayrıştırması

OpenClaw, sohbet kanallarından paylaşılan konumları şu biçimlerde normalize eder:
  • gelen gövdeye eklenen insan tarafından okunabilir metin olarak ve
  • otomatik yanıt bağlamı yükündeki yapılandırılmış alanlar olarak.
Şu anda desteklenenler:
  • Telegram (konum pinleri + mekanlar + canlı konumlar)
  • WhatsApp (locationMessage + liveLocationMessage)
  • Matrix (geo_uri içeren m.location)

Metin biçimlendirme

Konumlar, köşeli parantez olmadan okunabilir satırlar olarak işlenir:
  • Pin:
    • 📍 48.858844, 2.294351 ±12m
  • Adlandırılmış yer:
    • 📍 Eiffel Tower — Champ de Mars, Paris (48.858844, 2.294351 ±12m)
  • Canlı paylaşım:
    • 🛰 Canlı konum: 48.858844, 2.294351 ±12m
Kanal bir açıklama/yorum içeriyorsa, sonraki satıra eklenir:
📍 48.858844, 2.294351 ±12m
Burada buluş

Bağlam alanları

Bir konum mevcut olduğunda, bu alanlar ctx içine eklenir:
  • LocationLat (sayı)
  • LocationLon (sayı)
  • LocationAccuracy (sayı, metre; isteğe bağlı)
  • LocationName (dize; isteğe bağlı)
  • LocationAddress (dize; isteğe bağlı)
  • LocationSource (pin | place | live)
  • LocationIsLive (boolean)

Kanal notları

  • Telegram: mekanlar LocationName/LocationAddress ile eşlenir; canlı konumlar live_period kullanır.
  • WhatsApp: locationMessage.comment ve liveLocationMessage.caption, açıklama satırı olarak eklenir.
  • Matrix: geo_uri, pin konumu olarak ayrıştırılır; yükseklik yok sayılır ve LocationIsLive her zaman false olur.