チャンネル位置情報パース

OpenClawは、チャットチャンネルから共有された位置情報を以下の形式に正規化します:

  • 人間が読みやすいテキストとして受信メッセージ本文に追加
  • 自動返信コンテキストペイロードの構造化フィールド

現在対応しているチャンネル:

  • Telegram(位置情報ピン + ベニュー + ライブ位置情報)
  • WhatsApp(locationMessage + liveLocationMessage)
  • Matrixm.locationgeo_uri

テキストフォーマット

位置情報は括弧なしの読みやすい行として表示されます:

  • ピン:
    • 📍 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(文字列、オプション)
  • LocationSourcepin | place | live
  • LocationIsLive(真偽値)

チャンネル別の注意事項

  • Telegram: ベニューはLocationName/LocationAddressにマッピングされます。ライブ位置情報はlive_periodを使用します。
  • WhatsApp: locationMessage.commentliveLocationMessage.captionがキャプション行として追加されます。
  • Matrix: geo_uriはピン位置情報としてパースされます。高度は無視され、LocationIsLiveは常にfalseです。