Channel Location Parsing

OpenClaw normalisiert geteilte Standorte aus Chat-Channels in:

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

Aktuell unterstützt:

  • Telegram (Location Pins + Venues + Live Locations)
  • 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-Standort:
    • 🛰 Live location: 48.858844, 2.294351 ±12m

Wenn der Channel eine Caption oder einen Kommentar enthält, wird dieser in der nächsten Zeile angehängt:

📍 48.858844, 2.294351 ±12m
Meet here

Context-Felder

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

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

Channel-Hinweise

  • Telegram: Venues werden auf LocationName/LocationAddress gemappt; Live Locations verwenden live_period.
  • WhatsApp: locationMessage.comment und liveLocationMessage.caption werden als Caption-Zeile angehängt.
  • Matrix: geo_uri wird als Pin Location geparst; Höhenangaben werden ignoriert und LocationIsLive ist immer false.