Configuration

Аналіз розташування каналу

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, що використовується для іншого контексту каналу.

Вихідні навантаження

Інструмент повідомлень і SDK Plugin використовують однакову структуру 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.

Пов’язані матеріали

Was this useful?
On this page

On this page