{
    "componentChunkName": "component---src-templates-doc-page-js",
    "path": "/docs/en/JS_API/variables/session/",
    "result": {"data":{"site":{"siteMetadata":{"title":"Gatsby-doc-engine"}},"markdownRemark":{"id":"6972cc43-897b-54d2-b04d-6c27460a9d5a","excerpt":"This object is used for storing any session data. When a new session begins, all the data is erased. A new session can be initiated forcibly by means of the…","html":"<h1><code class=\"language-text\">$session</code></h1>\n<hr>\n<p>This object is used for storing any session data. When a new session begins, all the data is erased.</p>\n<p>A new session can be initiated forcibly by means of the <code class=\"language-text\">newSession</code> tag.</p>\n</br>\n<h4>Special attributes</h4>\n<ul>\n<li><code class=\"language-text\">contextPath</code> is the current dialog context. It is intended to be used internally by the platform in order to restore the context upon each subsequent user request.</li>\n</ul>\n</br>\n<h4>How to use</h4>\n<ul>\n<li>Storing user's name:</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"sc\"><pre class=\"language-sc\"><code class=\"language-sc\"> <span class=\"token keyword\">state:</span> Hello\n        <span class=\"token storageType\">q!:</span> * my name is $Name *\n        <span class=\"token variableParameter\">script:</span>\n            $session.name = $Name\n        <span class=\"token variableParameter\">a:</span> Hello, <span class=\"token constantCharacter\">{{ $session.name }}</span>!</code></pre></div>\n</br>\n<ul>\n<li>Storing random number:</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"sc\"><pre class=\"language-sc\"><code class=\"language-sc\"><span class=\"token keyword\">state:</span> Game\n    <span class=\"token variableParameter\">script:</span>\n        $session.number =  $jsapi.random(100) + 1;\n        $reactions.answer(\"My number is <span class=\"token constantCharacter\">{{$session.number}}</span>\");\n        $reactions.transition(\"/Check\");</code></pre></div>\n</br>\n<ul>\n<li>Storing goods quantities in <code class=\"language-text\">$session.quantity</code> and adding parametres in <code class=\"language-text\">$session.cart</code> array:</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"sc\"><pre class=\"language-sc\"><code class=\"language-sc\"><span class=\"token keyword\">state:</span> GetQuantity\n    <span class=\"token variableParameter\">script:</span>\n        $session.cart = [];\n        $session.quantity = parseInt($request.query);\n        $session.cart.push({name: $session.pizza_name, id: $session.pizza_id, quantity: $session.quantity});\n        <span class=\"token variableParameter\">a:</span> Would you like anything else?</code></pre></div>\n</br>\n<ul>\n<li>Storing chat ID depending on executed condition:</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"sc\"><pre class=\"language-sc\"><code class=\"language-sc\"><span class=\"token keyword\">state:</span> chatId\n    <span class=\"token variableParameter\">script:</span>\n        if ($request.channelType.indexOf(\"chatwidget\") > -1) {\n            $session.chatId = $request.channelUserId;\n        } else {\n            $session.chatId = $request.data.chatId;\n        }</code></pre></div>","frontmatter":{"title":"","description":null},"headings":[{"value":"<code class=\"language-text\">$session</code>"}]}},"pageContext":{"slug":"/docs/en/JS_API/variables/session/","previous":{"fields":{"slug":"/docs/en/JS_API/variables/temp/"},"frontmatter":{"title":"","description":null}},"next":{"fields":{"slug":"/docs/en/JS_API/variables/response/"},"frontmatter":{"title":"","description":null}}}},
    "staticQueryHashes": ["1209419333"]}