- краткий текст с координатами, добавляемый к входящему содержимому, и
- структурированные поля в контекстной полезной нагрузке автоматического ответа. Предоставленные каналом метки, адреса и подписи/комментарии отображаются в промпте в общем 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
Поля контекста
При наличии местоположения вctx добавляются следующие поля:
LocationLat(число)LocationLon(число)LocationAccuracy(число, метры; необязательно)LocationName(строка; необязательно)LocationAddress(строка; необязательно)LocationSource(pin | place | live)LocationIsLive(логическое значение)LocationCaption(строка; необязательно)
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.