सत्र स्टोरेज

किसी खास उपयोगकर्ता के लिए, बातचीत में पैरामीटर वैल्यू सेव की जा सकती हैं सेशन स्टोरेज. इसके बाद, आपकी सेट की गई कार्रवाई में सेव की गई वैल्यू का इस्तेमाल, बाद में प्रॉम्प्ट में किया जा सकता है और शर्तें हैं और आपका वेबहुक कोड ज़रूरत पड़ने पर बातचीत कर सकते हैं.

बातचीत के दौरान, टाइप का इस्तेमाल करके इकट्ठा किया गया डेटा, सेशन में सेव किया जाता है स्टोरेज. वेबहुक कॉल का इस्तेमाल करके, सेशन स्टोरेज में मौजूद डेटा के साथ इंटरैक्ट भी किया जा सकता है. वेबहुक कॉल के लिए, सेशन स्टोरेज की स्थिति app.handle() में पास की जाती है अनुरोध किया जाता है और उसे session ऑब्जेक्ट में सेव किया जाता है.

बातचीत खत्म होने पर, सेशन के स्टोरेज में सेव किया गया डेटा खत्म हो जाता है.

सेशन के स्टोरेज में डेटा देखने और उसमें बदलाव करने की अनुमति दें

सेशन स्टोरेज में नई वैल्यू सेट करने या अपडेट करने के लिए, वेबहुक कॉल में session ऑब्जेक्ट का params फ़ील्ड. यह उदाहरण "exampleColor" सेट करता है "लाल" में सेशन के स्टोरेज में:

Node.js

// Assign color to session storage
app.handle('storeColor', conv => {
  let color = 'red';
  conv.session.params.exampleColor = color;
});
    

JSON

{
  "responseJson": {
    "session": {
      "id": "12345678901234567890",
      "params": {
        "exampleColor": "red"
      }
    },
    "prompt": {
      "override": false
    }
  }
}
    

सेशन के स्टोरेज में सेव किए गए डेटा को ऐक्सेस करने के लिए, उसे वेबहुक में किसी वैरिएबल को असाइन करें कॉल. नीचे दिए गए उदाहरण में, "exampleColor" से वैल्यू ली गई है सेशन में है डिवाइस का स्टोरेज:

Node.js

// Retrieve color from session storage
app.handle('getStoredColor', conv => {
  let color = conv.session.params.exampleColor;
});
    

JSON

{
  "responseJson": {
    "session": {
      "id": "12345678901234567890",
      "params": {
        "exampleColor": "red"
      }
    },
    "prompt": {
      "override": false
    }
  }
}
    

पहले सेव की गई वैल्यू को मिटाने के लिए, वेबहुक कॉल में वैल्यू को null पर सेट करें. नीचे दिए गए उदाहरण में, "exampleColor" वैल्यू को हटाया गया है सेशन के स्टोरेज में:

Node.js

// Clear color from session storage
app.handle('clearStoredColor', conv => {
  conv.session.params.exampleColor = null;
});
    

JSON

{
  "responseJson": {
    "session": {
      "id": "12345678901234567890",
      "params": {}
    },
    "prompt": {
      "override": false
    }
  }
}
    

प्रॉम्प्ट में सेव की गई वैल्यू का रेफ़रंस देना

सेशन स्टोरेज में सेव की गई वैल्यू का रेफ़रंस देने के लिए, प्रॉम्प्ट का इस्तेमाल करें. संदर्भ के लिए वैल्यू में, $session.params.PARAMETER_NAME सिंटैक्स का इस्तेमाल करें, जहां PARAMETER_NAME वह नाम है जो पैरामीटर के दौरान वेबहुक में दिया गया है सेट किया गया था.

उदाहरण के लिए, आपने पहले सेशन स्टोरेज में कलर वैल्यू को पैरामीटर exampleColor. किसी प्रॉम्प्ट में उस वैल्यू को ऐक्सेस करने के लिए, $session.params.exampleColor का इस्तेमाल करके वैल्यू:

JSON

{
  "candidates": [{
    "first_simple": {
      "variants": [{
        "speech": "Your favorite color is $session.params.exampleColor."
      }]
    }
  }]
}
    

स्टोर की गई वैल्यू का रेफ़रंस देने की सुविधा

सेशन के स्टोरेज में सेव की गई वैल्यू को शर्तों के तहत भी देखा जा सकता है. यहां की यात्रा पर हूं इस वैल्यू का रेफ़रंस देने के लिए, session.params.PARAMETER_NAME का इस्तेमाल करें सिंटैक्स, जहां PARAMETER_NAME वेबहुक में दिया गया नाम है, पैरामीटर सेट कर दिया गया था.

उदाहरण के लिए, आपने पहले सेशन स्टोरेज में कलर वैल्यू को पैरामीटर exampleColor और आप उसका मिलान "लाल" मान से करना चाहते हैं में स्थिति. आपकी शर्त में, आप इसका इस्तेमाल करके स्टोर वैल्यू का रेफ़रंस देते हैं session.params.exampleColor. इसके बाद, आपका शर्त एक्सप्रेशन कुछ ऐसा दिखेगा:

शर्त का सिंटैक्स

session.params.exampleColor == "red"