{
    "componentChunkName": "component---src-templates-doc-page-js",
    "path": "/docs/ru/JS_API/variables/session/",
    "result": {"data":{"site":{"siteMetadata":{"title":"Gatsby-doc-engine"}},"markdownRemark":{"id":"352b30b8-7dbd-5498-aa6b-b588b697f344","excerpt":"$session Объект для сохранения любых сессионных данных. При начале новой сессии все данные будут обнулены. Время создания новой сессии определяется в сценарии с…","html":"<h1>$session</h1>\n<hr>\n<p>Объект для сохранения любых сессионных данных. При начале новой сессии все данные будут обнулены.</p>\n<p>Время создания новой сессии определяется в сценарии с помощью тега <code class=\"language-text\">newSession</code>.</p>\n<p class='tip'><a href=/1.10.3/docs/ru/JS_API/overflow_session_client_data  >Существует ограничение на объем хранящихся данных в объектe <code class=\"language-text\">$session</code></a>. При превышении лимита текущий сценарий прерывается, бот перестает отвечать клиенту.</p>\n</br>\n<h4>Специальные поля</h4>\n<ul>\n<li><code class=\"language-text\">contextPath</code> — текущий контекст диалога, предназначен для внутреннего использования платформой. По этому полю восстанавливается контекст беседы при следующем запросе клиента.</li>\n</ul>\n</br>\n<h4>Примеры использования</h4>\n<ul>\n<li>Сохранение имени пользователя:</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> * меня зовут $Name *\n        <span class=\"token variableParameter\">script:</span>\n            $session.name = $Name\n        <span class=\"token variableParameter\">a:</span> Привет, <span class=\"token constantCharacter\">{{ $session.name }}</span>!</code></pre></div>\n</br>\n<ul>\n<li>Сохранение и вывод в виде сообщения случайного числа:</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(\"Загадано <span class=\"token constantCharacter\">{{$session.number}}</span>\");\n        $reactions.transition(\"/Проверка\");</code></pre></div>\n</br>\n<ul>\n<li>Сохранение введенного количества товара в переменной <code class=\"language-text\">$session.quantity</code> и добавление параметров в массив <code class=\"language-text\">$session.cart</code>:</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> Хотите ли выбрать что-нибудь еще, или перейдем к оформлению заказа?</code></pre></div>\n</br>\n<ul>\n<li>Сохранение идентификатора чатвиджета в зависимости от выполненного условия:</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":"$session"}]}},"pageContext":{"slug":"/docs/ru/JS_API/variables/session/","previous":{"fields":{"slug":"/docs/ru/JS_API/variables/temp/"},"frontmatter":{"title":"","description":null}},"next":{"fields":{"slug":"/docs/ru/JS_API/variables/response/"},"frontmatter":{"title":"","description":null}}}},
    "staticQueryHashes": ["1209419333"]}