Parsing posizione nei canali
OpenClaw normalizza le posizioni condivise dai canali di chat in:
- testo leggibile aggiunto al corpo del messaggio in ingresso, e
- campi strutturati nel payload di contesto della risposta automatica.
Attualmente supportato:
- Telegram (pin di posizione + luoghi + posizioni live)
- WhatsApp (locationMessage + liveLocationMessage)
- Matrix (
m.locationcongeo_uri)
Formattazione del testo
Le posizioni sono rese come righe amichevoli senza parentesi:
- Pin:
📍 48.858844, 2.294351 ±12m
- Luogo con nome:
📍 Eiffel Tower — Champ de Mars, Paris (48.858844, 2.294351 ±12m)
- Condivisione live:
🛰 Live location: 48.858844, 2.294351 ±12m
Se il canale include una didascalia/commento, viene aggiunto nella riga successiva:
📍 48.858844, 2.294351 ±12m
Meet here
Campi di contesto
Quando una posizione e presente, questi campi vengono aggiunti a ctx:
LocationLat(number)LocationLon(number)LocationAccuracy(number, metri; opzionale)LocationName(string; opzionale)LocationAddress(string; opzionale)LocationSource(pin | place | live)LocationIsLive(boolean)
Note sui canali
- Telegram: i luoghi corrispondono a
LocationName/LocationAddress; le posizioni live usanolive_period. - WhatsApp:
locationMessage.commenteliveLocationMessage.captionvengono aggiunti come riga didascalia. - Matrix:
geo_uriviene interpretato come posizione pin; l’altitudine viene ignorata eLocationIsLivee sempre false.