Skip to main content
OpenClaw चैट चैनलों से साझा किए गए स्थानों को निम्न में सामान्यीकृत करता है:
  • इनबाउंड बॉडी के अंत में जोड़ा गया संक्षिप्त निर्देशांक टेक्स्ट, और
  • स्वतः-उत्तर संदर्भ पेलोड में संरचित फ़ील्ड। चैनल द्वारा दिए गए लेबल, पते और कैप्शन/टिप्पणियाँ उपयोगकर्ता बॉडी में इनलाइन नहीं, बल्कि साझा अविश्वसनीय मेटाडेटा JSON ब्लॉक द्वारा प्रॉम्प्ट में रेंडर की जाती हैं।
वर्तमान में समर्थित:
  • LINE (शीर्षक/पते वाले स्थान संदेश)
  • Matrix (m.location के साथ geo_uri)
  • Telegram (स्थान पिन + स्थल + लाइव स्थान)
  • WhatsApp (locationMessage + liveLocationMessage)

टेक्स्ट फ़ॉर्मैटिंग

स्थान बिना कोष्ठकों वाली आसानी से पढ़ी जाने योग्य पंक्तियों के रूप में रेंडर किए जाते हैं। निर्देशांकों में दशमलव के बाद छह अंक होते हैं; सटीकता को पूर्ण मीटर में पूर्णांकित किया जाता है:
  • पिन:
    • 📍 48.858844, 2.294351 ±12m
  • नामित स्थान (उसी पंक्ति में; नाम/पता केवल मेटाडेटा ब्लॉक में जाते हैं):
    • 📍 48.858844, 2.294351 ±12m
  • लाइव साझाकरण:
    • 🛰 Live location: 48.858844, 2.294351 ±12m
यदि चैनल में कोई लेबल, पता या कैप्शन/टिप्पणी शामिल है, तो उसे संदर्भ पेलोड में संरक्षित रखा जाता है और वह प्रॉम्प्ट में फ़ेंस किए गए अविश्वसनीय JSON के रूप में दिखाई देता है (अनुपस्थित फ़ील्ड छोड़ दिए जाते हैं):

संदर्भ फ़ील्ड

कोई स्थान मौजूद होने पर, ये फ़ील्ड ctx में जोड़े जाते हैं:
  • LocationLat (संख्या)
  • LocationLon (संख्या)
  • LocationAccuracy (संख्या, मीटर; वैकल्पिक)
  • LocationName (स्ट्रिंग; वैकल्पिक)
  • LocationAddress (स्ट्रिंग; वैकल्पिक)
  • LocationSource (pin | place | live)
  • LocationIsLive (बूलियन)
  • LocationCaption (स्ट्रिंग; वैकल्पिक)
जब चैनल स्पष्ट स्रोत सेट नहीं करता, तो OpenClaw उसका अनुमान लगाता है: लाइव साझाकरण live बनते हैं, नाम या पते वाले स्थान place बनते हैं और बाकी सभी pin होते हैं। प्रॉम्प्ट रेंडरर LocationName, LocationAddress और LocationCaption को अविश्वसनीय मेटाडेटा मानता है और उन्हें अन्य चैनल संदर्भ के लिए उपयोग किए जाने वाले उसी सीमित JSON पथ के माध्यम से क्रमबद्ध करता है।

आउटबाउंड पेलोड

संदेश टूल और Plugin SDK पोर्टेबल आउटबाउंड स्थानों के लिए समान NormalizedLocation स्वरूप का उपयोग करते हैं। केवल निर्देशांक वाला पेलोड एक पिन को दर्शाता है। मूल स्थल समर्थन वाले चैनल name और address को स्थल कार्ड में मैप कर सकते हैं। Telegram वर्तमान में इसे message(action="send") के माध्यम से उपलब्ध कराता है। इसका पहला कार्यान्वयन जानबूझकर स्वतंत्र है: स्थान पेलोड को टेक्स्ट या मीडिया के साथ मिश्रित नहीं किया जा सकता और अधूरी स्थल जोड़ियाँ नाम या पता चुपचाप हटाने के बजाय विफल हो जाती हैं। असमर्थित चैनल स्थान पैरामीटर का विज्ञापन नहीं करते।

चैनल संबंधी टिप्पणियाँ

  • LINE: स्थान संदेश title/address को LocationName/LocationAddress पर मैप किया जाता है; लाइव स्थान उपलब्ध नहीं हैं।
  • Matrix: geo_uri को पिन स्थान के रूप में पार्स किया जाता है; u (अनिश्चितता) पैरामीटर को LocationAccuracy पर मैप किया जाता है, इवेंट बॉडी LocationCaption को भरती है, ऊँचाई को अनदेखा किया जाता है और LocationIsLive हमेशा false होता है।
  • Telegram: स्थलों को LocationName/LocationAddress पर मैप किया जाता है; लाइव स्थानों का पता live_period के माध्यम से लगाया जाता है।
  • WhatsApp: locationMessage.comment और liveLocationMessage.caption, LocationCaption को भरते हैं।

संबंधित