Разбор местоположения канала
OpenClaw нормализует общие местоположения из каналов чата в:
- удобочитаемый текст, добавляемый к входящему телу, и
- структурированные поля в полезной нагрузке контекста авто-ответа.
В настоящее время поддерживается:
- Telegram (булавки местоположения + места + живые местоположения)
- WhatsApp (locationMessage + liveLocationMessage)
- Matrix (m.location с geo_uri)
Форматирование текста
Местоположения отображаются как дружественные строки без скобок:
- Булавка:
- 📍 48.858844, 2.294351 ±12m
- Названное место:
- 📍 Эйфелева башня — Марсово поле, Париж (48.858844, 2.294351 ±12m)
- Живая трансляция:
- 🛰 Живое местоположение: 48.858844, 2.294351 ±12m
Если канал включает подпись/комментарий, она добавляется на следующей строке:
📍 48.858844, 2.294351 ±12m
Встретимся здесь
Поля контекста
Когда местоположение присутствует, эти поля добавляются к ctx:
- LocationLat (число)
- LocationLon (число)
- LocationAccuracy (число, метры; необязательно)
- LocationName (строка; необязательно)
- LocationAddress (строка; необязательно)
- LocationSource (pin | place | live)
- LocationIsLive (логическое)
Примечания по каналам
- Telegram: места отображаются в LocationName/LocationAddress; живые местоположения используют live_period.
- WhatsApp: locationMessage.comment и liveLocationMessage.caption добавляются как строка подписи.
- Matrix: geo_uri разбирается как булавка местоположения; высота игнорируется, и LocationIsLive всегда false.