Standort-Parsing für Kanäle

OpenClaw normalisiert geteilte Standorte aus Chat-Kanälen in:

  • menschenlesbaren Text, der an den eingehenden Nachrichtentext angehängt wird, und
  • strukturierte Felder im Auto-Reply-Kontext-Payload.

Derzeit unterstützt:

  • Telegram (Standort-Pins + Orte + Live-Standorte)
  • WhatsApp (locationMessage + liveLocationMessage)
  • Matrix (m.location mit geo_uri)

Textformatierung

Standorte werden als freundliche Zeilen ohne Klammern dargestellt:

  • Pin:
    • 📍 48.858844, 2.294351 ±12m
  • Benannter Ort:
    • 📍 Eiffel Tower — Champ de Mars, Paris (48.858844, 2.294351 ±12m)
  • Live-Freigabe:
    • 🛰 Live location: 48.858844, 2.294351 ±12m

Wenn der Kanal einen Kommentar enthält, wird dieser in der nächsten Zeile angehängt:

📍 48.858844, 2.294351 ±12m
Meet here

Kontextfelder

Wenn ein Standort vorhanden ist, werden folgende Felder zu ctx hinzugefügt:

  • LocationLat (Zahl)
  • LocationLon (Zahl)
  • LocationAccuracy (Zahl, Meter; optional)
  • LocationName (String; optional)
  • LocationAddress (String; optional)
  • LocationSource (pin | place | live)
  • LocationIsLive (Boolean)

Kanal-Hinweise

  • Telegram: Venues werden auf LocationName/LocationAddress gemappt; Live-Standorte nutzen live_period.
  • WhatsApp: locationMessage.comment und liveLocationMessage.caption werden als Kommentarzeile angehängt.
  • Matrix: geo_uri wird als Pin-Standort geparst; Höhe wird ignoriert und LocationIsLive ist immer false.