채널 위치 파싱
OpenClaw는 채팅 채널에서 공유된 위치를 다음과 같이 정규화합니다:
- 인바운드 본문에 추가되는 사람이 읽을 수 있는 텍스트
- 자동 응답 컨텍스트 페이로드의 구조화된 필드
현재 지원되는 채널:
- Telegram (위치 핀 + 장소 + 실시간 위치)
- WhatsApp (locationMessage + liveLocationMessage)
- Matrix (
geo_uri가 포함된m.location)
텍스트 형식
위치는 괄호 없이 읽기 쉬운 형태로 렌더링됩니다:
- 핀:
📍 48.858844, 2.294351 ±12m
- 이름이 있는 장소:
📍 Eiffel Tower — Champ de Mars, Paris (48.858844, 2.294351 ±12m)
- 실시간 공유:
🛰 Live location: 48.858844, 2.294351 ±12m
채널에 캡션/댓글이 포함된 경우 다음 줄에 추가됩니다:
📍 48.858844, 2.294351 ±12m
Meet here
컨텍스트 필드
위치가 존재하면 ctx에 다음 필드가 추가됩니다:
LocationLat(number)LocationLon(number)LocationAccuracy(number, 미터; 선택 사항)LocationName(string; 선택 사항)LocationAddress(string; 선택 사항)LocationSource(pin | place | live)LocationIsLive(boolean)
채널별 참고 사항
- Telegram: 장소는
LocationName/LocationAddress로 매핑됩니다. 실시간 위치는live_period를 사용합니다. - WhatsApp:
locationMessage.comment과liveLocationMessage.caption은 캡션 줄로 추가됩니다. - Matrix:
geo_uri는 핀 위치로 파싱됩니다. 고도는 무시되며LocationIsLive는 항상 false입니다.