Parsowanie lokalizacji kanalow

OpenClaw normalizuje udostepnione lokalizacje z kanalow czatu do:

  • czytelnego tekstu dolaczanego do tresci przychodzacej, oraz
  • ustrukturyzowanych pol w payloadzie kontekstu automatycznej odpowiedzi.

Aktualnie obslugiwane:

  • Telegram (pinezki lokalizacji + miejsca + lokalizacje na zywo)
  • WhatsApp (locationMessage + liveLocationMessage)
  • Matrix (m.location z geo_uri)

Formatowanie tekstu

Lokalizacje sa renderowane jako przyjazne linie bez nawiasow:

  • Pinezka:
    • 📍 48.858844, 2.294351 ±12m
  • Nazwane miejsce:
    • 📍 Eiffel Tower — Champ de Mars, Paris (48.858844, 2.294351 ±12m)
  • Udostepnianie na zywo:
    • 🛰 Live location: 48.858844, 2.294351 ±12m

Jesli kanal zawiera podpis/komentarz, jest dolaczany w nastepnej linii:

📍 48.858844, 2.294351 ±12m
Meet here

Pola kontekstu

Gdy lokalizacja jest obecna, te pola sa dodawane do ctx:

  • LocationLat (number)
  • LocationLon (number)
  • LocationAccuracy (number, metry; opcjonalne)
  • LocationName (string; opcjonalne)
  • LocationAddress (string; opcjonalne)
  • LocationSource (pin | place | live)
  • LocationIsLive (boolean)

Uwagi dotyczace kanalow

  • Telegram: miejsca mapuja sie na LocationName/LocationAddress; lokalizacje na zywo uzywaja live_period.
  • WhatsApp: locationMessage.comment i liveLocationMessage.caption sa dolaczane jako linia podpisu.
  • Matrix: geo_uri jest parsowane jako pinezka lokalizacji; wysokosc jest ignorowana, a LocationIsLive jest zawsze false.