채널 위치 파싱
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 (숫자)
- LocationLon (숫자)
- LocationAccuracy (숫자, 미터; 선택사항)
- LocationName (문자열; 선택사항)
- LocationAddress (문자열; 선택사항)
- LocationSource (pin | place | live)
- LocationIsLive (불리언)
채널 참고사항
- Telegram: 장소는 LocationName/LocationAddress로 매핑되며, 실시간 위치는 live_period를 사용합니다.
- WhatsApp: locationMessage.comment와 liveLocationMessage.caption이 캡션 줄로 추가됩니다.
- Matrix: geo_uri는 핀 위치로 파싱되며, 고도는 무시되고 LocationIsLive는 항상 false입니다.