> ## 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 нормализует общие данные о местоположении из каналов чата в:

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

В настоящее время поддерживаются:

* **LINE** (сообщения о местоположении с названием/адресом)
* **Matrix** (`m.location` с `geo_uri`)
* **Telegram** (метки местоположения, места и геопозиции в реальном времени)
* **WhatsApp** (`locationMessage` + `liveLocationMessage`)

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

Местоположения отображаются удобочитаемыми строками без скобок. Координаты указываются с шестью знаками после запятой; точность округляется до целых метров:

* Метка:
  * `📍 48.858844, 2.294351 ±12m`
* Именованное место (в той же строке; название и адрес передаются только в блок метаданных):
  * `📍 48.858844, 2.294351 ±12m`
* Передача геопозиции в реальном времени:
  * `🛰 Live location: 48.858844, 2.294351 ±12m`

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

````text theme={"theme":{"light":"min-light","dark":"min-dark"}}
Местоположение (недоверенные метаданные):
```json
{
  "latitude": 48.858844,
  "longitude": 2.294351,
  "accuracy_m": 12,
  "source": "place",
  "name": "Эйфелева башня",
  "address": "Марсово поле, Париж",
  "caption": "Встретимся здесь"
}
```
````

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

При наличии местоположения в `ctx` добавляются следующие поля:

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

Если канал не задаёт источник явно, OpenClaw определяет его автоматически: передача геопозиции в реальном времени становится `live`, местоположения с названием или адресом становятся `place`, а всё остальное — `pin`.

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

## Исходящие полезные нагрузки

Инструмент сообщений и Plugin SDK используют одну и ту же структуру `NormalizedLocation` для переносимых исходящих местоположений. Полезная нагрузка, содержащая только координаты, представляет метку. Каналы с нативной поддержкой мест могут сопоставлять `name` вместе с `address` с карточкой места.

В настоящее время Telegram предоставляет эту возможность через `message(action="send")`. Первая реализация намеренно автономна: полезные нагрузки местоположения нельзя объединять с текстом или медиафайлами, а неполные пары данных о месте приводят к ошибке вместо молчаливого отбрасывания названия или адреса. Неподдерживаемые каналы не объявляют параметр местоположения.

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

* **LINE**: поля сообщения о местоположении `title`/`address` сопоставляются с `LocationName`/`LocationAddress`; геопозиции в реальном времени не поддерживаются.
* **Matrix**: `geo_uri` анализируется как метка местоположения; параметр `u` (неопределённость) сопоставляется с `LocationAccuracy`, содержимое события заполняет `LocationCaption`, высота игнорируется, а `LocationIsLive` всегда имеет значение false.
* **Telegram**: места сопоставляются с `LocationName`/`LocationAddress`; геопозиции в реальном времени обнаруживаются через `live_period`.
* **WhatsApp**: `locationMessage.comment` и `liveLocationMessage.caption` заполняют `LocationCaption`.

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

* [Команда местоположения (узлы)](https://docs2.openclaw.ai/ru/nodes/location-command.md)
* [Съёмка камерой](https://docs2.openclaw.ai/ru/nodes/camera.md)
* [Анализ медиафайлов](https://docs2.openclaw.ai/ru/nodes/media-understanding.md)
