Парсинг геолокации в каналах
OpenClaw нормализует передаваемую из каналов геолокацию в:
- читаемый текст, добавляемый к телу входящего сообщения, и
- структурированные поля в payload контекста авто-ответа.
На данный момент поддерживаются:
- Telegram (геометки + заведения + трансляция геолокации)
- WhatsApp (locationMessage + liveLocationMessage)
- Matrix (
m.locationсgeo_uri)
Форматирование текста
Геолокация отображается в виде понятных строк без скобок:
- Метка:
📍 48.858844, 2.294351 ±12m
- Именованное место:
📍 Eiffel Tower — Champ de Mars, Paris (48.858844, 2.294351 ±12m)
- Трансляция:
🛰 Live location: 48.858844, 2.294351 ±12m
Если канал передаёт подпись/комментарий, он добавляется на следующей строке:
📍 48.858844, 2.294351 ±12m
Meet here
Поля контекста
При наличии геолокации в ctx добавляются следующие поля:
LocationLat(number)LocationLon(number)LocationAccuracy(number, метры; опционально)LocationName(string; опционально)LocationAddress(string; опционально)LocationSource(pin | place | live)LocationIsLive(boolean)
Особенности каналов
- Telegram: заведения преобразуются в
LocationName/LocationAddress; трансляция геолокации используетlive_period. - WhatsApp:
locationMessage.commentиliveLocationMessage.captionдобавляются как строка подписи. - Matrix:
geo_uriразбирается как геометка; высота игнорируется,LocationIsLiveвсегда false.