チャネルの位置情報解析

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

  • インバウンドボディに追加される人間が読める形式のテキスト
  • 自動返信コンテキストペイロード内の構造化フィールド

現在サポートされているもの:

  • Telegram(位置ピン + ベニュー + ライブ位置情報)
  • WhatsApp(locationMessage + liveLocationMessage)
  • Matrixgeo_uriを持つm.location

テキストフォーマット

位置情報は括弧なしのフレンドリーな行として表示されます:

  • ピン:
    • 📍 48.858844, 2.294351 ±12m
  • 名前付き場所:
    • 📍 Eiffel Tower — Champ de Mars, Paris (48.858844, 2.294351 ±12m)
  • ライブ共有:
    • 🛰 ライブ位置情報: 48.858844, 2.294351 ±12m

チャネルにキャプション/コメントが含まれている場合、次の行に追加されます:

📍 48.858844, 2.294351 ±12m
ここで会いましょう

コンテキストフィールド

位置情報が存在する場合、これらのフィールドがctxに追加されます:

  • LocationLat(数値)
  • LocationLon(数値)
  • LocationAccuracy(数値、メートル単位; オプション)
  • LocationName(文字列; オプション)
  • LocationAddress(文字列; オプション)
  • LocationSourcepin | place | live
  • LocationIsLive(真偽値)

チャネル別の注意事項

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