Phân tích vị trí từ Channel

OpenClaw chuẩn hóa thông tin vị trí được chia sẻ từ các Channel chat thành:

  • văn bản dễ đọc được thêm vào nội dung tin nhắn đến, và
  • các trường có cấu trúc trong payload context của auto-reply.

Hiện tại hỗ trợ:

  • Telegram (ghim vị trí + địa điểm + vị trí trực tiếp)
  • WhatsApp (locationMessage + liveLocationMessage)
  • Matrix (m.location với geo_uri)

Định dạng văn bản

Vị trí được hiển thị dưới dạng các dòng thân thiện không có dấu ngoặc:

  • Ghim:
    • 📍 48.858844, 2.294351 ±12m
  • Địa điểm có tên:
    • 📍 Eiffel Tower — Champ de Mars, Paris (48.858844, 2.294351 ±12m)
  • Chia sẻ trực tiếp:
    • 🛰 Live location: 48.858844, 2.294351 ±12m

Nếu Channel có kèm caption/comment, nó sẽ được thêm vào dòng tiếp theo:

📍 48.858844, 2.294351 ±12m
Meet here

Các trường Context

Khi có thông tin vị trí, các trường sau sẽ được thêm vào ctx:

  • LocationLat (number)
  • LocationLon (number)
  • LocationAccuracy (number, đơn vị mét; optional)
  • LocationName (string; optional)
  • LocationAddress (string; optional)
  • LocationSource (pin | place | live)
  • LocationIsLive (boolean)

Ghi chú về các Channel

  • Telegram: venues được map vào LocationName/LocationAddress; vị trí trực tiếp sử dụng live_period.
  • WhatsApp: locationMessage.commentliveLocationMessage.caption được thêm vào dòng caption.
  • Matrix: geo_uri được phân tích như một vị trí ghim; altitude bị bỏ qua và LocationIsLive luôn là false.