---
read_when:
    - Добавление или изменение разбора местоположения канала
    - Использование полей контекста местоположения в промптах или инструментах агента
summary: Разбор местоположения в канале и переносимые исходящие данные о местоположении
title: Разбор расположения канала
x-i18n:
    generated_at: "2026-07-13T19:31:00Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 24
    provider: openai
    source_hash: c7e5647d02643ad6d95024b362228377690d7fdff66441fae367f0f5307217fb
    source_path: channels/location.md
    workflow: 16
---

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
Местоположение (недоверенные метаданные):
```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`.

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

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