Разбор местоположения канала

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.