> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

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

OpenClaw нормализует общие местоположения из каналов чата в:

* краткий текст с координатами, добавляемый к входящему телу сообщения, и
* структурированные поля в полезной нагрузке контекста автоматического ответа. Предоставленные каналом метки, адреса и подписи/комментарии отображаются в prompt через общий JSON-блок недоверенных метаданных, а не встроенно в тело сообщения пользователя.

Сейчас поддерживаются:

* **Telegram** (метки местоположения + места + live-местоположения)
* **WhatsApp** (locationMessage + liveLocationMessage)
* **Matrix** (`m.location` с `geo_uri`)

## Форматирование текста

Местоположения отображаются как понятные строки без скобок:

* Метка:
  * `📍 48.858844, 2.294351 ±12m`
* Именованное место:
  * `📍 48.858844, 2.294351 ±12m`
* Live-геопозиция:
  * `🛰 Live location: 48.858844, 2.294351 ±12m`

Если канал включает метку, адрес или подпись/комментарий, они сохраняются в полезной нагрузке контекста и появляются в prompt как огражденный недоверенный JSON:

````text theme={"theme":{"light":"min-light","dark":"min-dark"}}
Location (untrusted metadata):
```json
{
  "latitude": 48.858844,
  "longitude": 2.294351,
  "name": "Eiffel Tower",
  "address": "Champ de Mars, Paris",
  "caption": "Meet here"
}
```
````

## Поля контекста

Когда местоположение присутствует, эти поля добавляются в `ctx`:

* `LocationLat` (число)
* `LocationLon` (число)
* `LocationAccuracy` (число, метры; необязательно)
* `LocationName` (строка; необязательно)
* `LocationAddress` (строка; необязательно)
* `LocationSource` (`pin | place | live`)
* `LocationIsLive` (логическое значение)
* `LocationCaption` (строка; необязательно)

Рендерер prompt обрабатывает `LocationName`, `LocationAddress` и `LocationCaption` как недоверенные метаданные и сериализует их через тот же ограниченный JSON-путь, который используется для другого контекста канала.

## Примечания по каналам

* **Telegram**: места сопоставляются с `LocationName/LocationAddress`; live-местоположения используют `live_period`.
* **WhatsApp**: `locationMessage.comment` и `liveLocationMessage.caption` заполняют `LocationCaption`.
* **Matrix**: `geo_uri` разбирается как местоположение-метка; высота игнорируется, а `LocationIsLive` всегда false.

## Связанные материалы

* [Команда местоположения (узлы)](/ru/nodes/location-command)
* [Съемка с камеры](/ru/nodes/camera)
* [Понимание медиа](/ru/nodes/media-understanding)
