---
read_when:
    - OpenClaw के समृद्ध प्रत्युत्तर रेंडर करने वाले Matrix क्लाइंट बनाना
    - com.openclaw.presentation इवेंट सामग्री की डीबगिंग
summary: OpenClaw-सक्षम क्लाइंट के लिए Matrix MessagePresentation मेटाडेटा
title: Matrix प्रस्तुति मेटाडेटा
x-i18n:
    generated_at: "2026-07-27T17:44:29Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 32
    provider: openai
    source_hash: c0de4d13c6cefc6f91dcc7a4b0edeea6bf001f3bd71f52c9f0498ad422783d8a
    source_path: channels/matrix-presentation.md
    workflow: 16
---

OpenClaw आउटबाउंड Matrix `m.room.message` इवेंट में `com.openclaw.presentation` कॉन्टेंट कुंजी के अंतर्गत सामान्यीकृत `MessagePresentation` मेटाडेटा जोड़ता है।

मानक Matrix क्लाइंट सादा टेक्स्ट `body` रेंडर करना जारी रखते हैं। OpenClaw-संगत क्लाइंट संरचित मेटाडेटा पढ़ सकते हैं और बटन, चयन, संदर्भ पंक्तियाँ और विभाजक जैसे नेटिव UI रेंडर कर सकते हैं।

## इवेंट कॉन्टेंट

```json
{
  "msgtype": "m.text",
  "body": "मॉडल चुनें\n\nमॉडल चुनें:\n- DeepSeek",
  "com.openclaw.presentation": {
    "version": 1,
    "type": "message.presentation",
    "title": "मॉडल चुनें",
    "tone": "info",
    "blocks": [
      {
        "type": "select",
        "placeholder": "मॉडल चुनें",
        "options": [
          {
            "label": "DeepSeek",
            "value": "/model deepseek/deepseek-chat"
          }
        ]
      }
    ]
  }
}
```

- `version` मेटाडेटा स्कीमा संस्करण है; वर्तमान संस्करण `1` है। `type` एक स्थिर विभेदक है, जो हमेशा `"message.presentation"` होता है। Matrix अडैप्टर केवल ठीक इसी संस्करण और प्रकार वाले पेलोड उत्सर्जित करता है; इसी तरह, क्लाइंट को ऐसे अज्ञात संस्करणों को अनदेखा करना चाहिए जिनकी वे सुरक्षित रूप से व्याख्या नहीं कर सकते, साथ ही अज्ञात `type` मानों और अज्ञात ब्लॉक प्रकारों को भी।
- `title` और `tone` (`info`, `success`, `warning`, `danger`, `neutral`) वैकल्पिक संकेत हैं।
- बटन और चयन विकल्प पुराने स्ट्रिंग `value` के साथ एक टाइप किया हुआ `action` (`{ "type": "command", "command": "/..." }` या `{ "type": "callback", "value": "..." }`) रख सकते हैं। दोनों मौजूद होने पर `action` को प्राथमिकता दें।

## फ़ॉलबैक व्यवहार

OpenClaw हमेशा `body` में पढ़ने योग्य सादा टेक्स्ट फ़ॉलबैक रेंडर करता है। संरचित मेटाडेटा अतिरिक्त होता है और मूल Matrix अंतर-संचालनीयता के लिए आवश्यक नहीं होना चाहिए।

फ़ॉलबैक रेंडरिंग नियम:

- `title`, `text`, और `context` कॉन्टेंट सादी पंक्तियों के रूप में रेंडर होता है।
- `command` कार्रवाई वाले बटन ``label: `/command` `` के रूप में रेंडर होते हैं, ताकि कमांड कॉपी किया जा सके। `callback` कार्रवाई वाले या केवल पुराना `value` रखने वाले बटन केवल लेबल के रूप में रेंडर होते हैं, ताकि अपारदर्शी कॉलबैक मान निजी रहें; अक्षम बटन हमेशा केवल लेबल के रूप में रेंडर होते हैं। URL और वेब-ऐप बटन `label: URL` के रूप में रेंडर होते हैं।
- चयन ब्लॉक प्लेसहोल्डर (या `Options:`) को शीर्षक के रूप में और उसके बाद केवल लेबल वाली विकल्प पंक्तियों को रेंडर करते हैं।
- यदि कुछ भी रेंडर नहीं होता, उदाहरण के लिए केवल विभाजक वाली प्रस्तुति में, तो बॉडी `---` पर फ़ॉलबैक करती है।

असमर्थित क्लाइंट फ़ॉलबैक टेक्स्ट दिखाते रहते हैं। OpenClaw-संगत क्लाइंट प्रदर्शन के लिए संरचित मेटाडेटा को प्राथमिकता दे सकते हैं, जबकि कॉपी, खोज, सूचनाओं और अभिगम्यता के लिए फ़ॉलबैक को बनाए रख सकते हैं।

## समर्थित ब्लॉक

Matrix आउटबाउंड अडैप्टर इनके लिए नेटिव समर्थन घोषित करता है:

- `buttons`
- `select`
- `context`
- `divider`

`text` ब्लॉक फ़ॉलबैक बॉडी के माध्यम से हमेशा समर्थित होते हैं। सभी ब्लॉक को सर्वोत्तम-प्रयास प्रस्तुति संकेत मानें; पूरे संदेश को विफल करने के बजाय अज्ञात फ़ील्ड और ब्लॉक प्रकारों को अनदेखा करें।

## इंटरैक्शन

यह मेटाडेटा Matrix कॉलबैक सिमेंटिक्स नहीं जोड़ता। बटन और चयन मान फ़ॉलबैक इंटरैक्शन पेलोड हैं, जो आमतौर पर स्लैश कमांड या टेक्स्ट कमांड होते हैं। इंटरैक्शन का समर्थन करने वाला Matrix क्लाइंट नियंत्रण मान (`action.command`, फिर `action.value`, फिर `value`) निर्धारित करता है और उसे सामान्य संदेश के रूप में रूम में वापस भेजता है।

उदाहरण के लिए, `/model deepseek/deepseek-chat` मान वाले बटन को उसी रूम में वह मान एन्क्रिप्टेड Matrix टेक्स्ट संदेश के रूप में भेजकर संभाला जा सकता है।

## अनुमोदन मेटाडेटा से संबंध

`com.openclaw.presentation` सामान्य रिच संदेश प्रस्तुति के लिए है।

अनुमोदन प्रॉम्प्ट समर्पित `com.openclaw.approval` मेटाडेटा का उपयोग करते हैं, क्योंकि अनुमोदनों में सुरक्षा-संवेदनशील स्थिति, निर्णय और exec/plugin विवरण होते हैं। यदि एक ही इवेंट पर दोनों मेटाडेटा कुंजियाँ मौजूद हों, तो क्लाइंट को समर्पित अनुमोदन रेंडरर को प्राथमिकता देनी चाहिए।

## मीडिया संदेश

जब किसी उत्तर में एक से अधिक मीडिया URL होते हैं, तो OpenClaw प्रत्येक मीडिया URL के लिए एक Matrix इवेंट भेजता है। कैप्शन टेक्स्ट और प्रस्तुति मेटाडेटा केवल पहले इवेंट से जुड़ते हैं, ताकि क्लाइंट को डुप्लिकेट रेंडरर के बिना एक स्थिर संरचित पेलोड मिले। यही नियम तब लागू होता है जब लंबे टेक्स्ट को कई इवेंट में खंडित किया जाता है: मेटाडेटा केवल पहले इवेंट के साथ जाता है।

प्रस्तुति मेटाडेटा को संक्षिप्त रखें। उपयोगकर्ता को दिखाई देने वाला बड़ा टेक्स्ट `body` में रहना चाहिए और सामान्य Matrix टेक्स्ट खंडीकरण पथ का उपयोग करना चाहिए।
