Configuration
चैनल स्थान पार्सिंग
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 के रूप में दिखाई देता है (अनुपस्थित फ़ील्ड छोड़ दिए जाते हैं):
स्थान (अविश्वसनीय मेटाडेटा):```json{ "latitude": 48.858844, "longitude": 2.294351, "accuracy_m": 12, "source": "place", "name": "एफ़िल टॉवर", "address": "शॉं द मार्स, पेरिस", "caption": "यहाँ मिलें"}```संदर्भ फ़ील्ड
जब कोई स्थान मौजूद होता है, तो ये फ़ील्ड 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को भरते हैं।