{
    "componentChunkName": "component---src-templates-doc-page-js",
    "path": "/docs/ru/common/bot_structure/js/",
    "result": {"data":{"site":{"siteMetadata":{"title":"Gatsby-doc-engine"}},"markdownRemark":{"id":"a794d3ea-2587-55b4-a3ad-2e8e6918fe3a","excerpt":"JS-код в проекте чат-бота?> JAICP DSL используют вставки JavaScript кода (EcmaScript v5) для описания бизнес-логики и интеграции с внешними системами. Бот может…","html":"<h1>JS-код в проекте чат-бота</h1>\n<hr>\n<p class='warn'>JAICP DSL используют вставки JavaScript кода (EcmaScript v5) для описания бизнес-логики и интеграции с внешними системами.</p>\n<p>Бот может производить вычисления, проверять ранее сохраненную информацию и реагировать в зависимости от результата диалога Например, бот может хранить в переменных определенную информацию и в дальнейшем её переиспользовать в течение диалога. Или бот может проверить канал общения, и в зависимости от результата отображать подходящие элементы графического интерфейса.</p>\n<h3>Структура JS-кода в проекте</h3>\n<p>JS-код в проекте:</p>\n<ul>\n<li>Выражения в тегах <a href=\"/1.11.7/docs/ru/JAICP_DSL/tags/reaction_tags/if_elseif_else\"><code class=\"language-text\">if</code>, <code class=\"language-text\">else</code>, <code class=\"language-text\">elseif</code></a> — функции-условия, используемые для описания правил условных переходов.</li>\n<li>Тег <a href=\"/1.11.7/docs/ru/JAICP_DSL/tags/reaction_tags/script\"><code class=\"language-text\">script</code></a> — скриптовые вставки для произведения любых вычислений и вызова внешних систем.</li>\n<li>Тег <a href=\"/1.11.7/docs/ru/JAICP_DSL/tags/declarative_tags/init\"><code class=\"language-text\">init</code></a> — скрипты инициализации, выполняются только один раз при загрузке сценария и используются для создания глобальных переменных и привязки <a href=\"/1.11.7/docs/ru/JS_API/built_in_functions/bind\">pre/post-процессов</a>.</li>\n<li>Подключаемые JS-файлы — файлы подключаются посредством <a href=\"/1.11.7/docs/ru/JAICP_DSL/tags/declarative_tags/require\"><code class=\"language-text\">require</code></a>. Содержат объекты и функции, доступные к использованию в любых других скриптах.</li>\n<li>Встроенные функции — специальные объекты и функции, предоставляемые платформой. Например, предоставляют функционал для вызова матчера или внешних сервисов.</li>\n<li>Встроенные библиотеки — JS-библиотеки, загружаемые автоматически вместе с каждым ботом.</li>\n</ul>\n<p class='warn'>Подробнее о встроенных <a href=/1.11.7/docs/ru/JS_API/variables/variables  >переменных</a>, <a href=/1.11.7/docs/ru/JS_API/built_in_functions/bind  >функциях</a> и <a href=/1.11.7/docs/ru/JS_API/built_in_services/http/http  >сервисах</a></p>\n<h3>JS-файлы</h3>\n<p>Вы можете прописать логику непосредственно в файле сценария <code class=\"language-text\">.sc</code>. Но мы рекомендуем выносить весь JS-код в отдельный файл. Для этого вам потребуется создать в <code class=\"language-text\">src</code> папке файл с расширением <code class=\"language-text\">.js</code>, например, <code class=\"language-text\">functions.js</code>. Напишите в нем функции, которые потом можно будет вызвать из сценарного файла после тега <a href=\"/1.11.7/docs/ru/JAICP_DSL/tags/reaction_tags/script\"><code class=\"language-text\">script</code></a>.</p>\n<p class='tip'>Обратите внимание, что JS-файлы содержат объекты и функции, доступные к использованию в любых других скриптах.</p>\n<p><code class=\"language-text\">.js</code>-файлы подключаются в начале сценария при помощи тега <code class=\"language-text\">require</code>:</p>\n<div class=\"gatsby-highlight\" data-language=\"sc\"><pre class=\"language-sc\"><code class=\"language-sc\"><span class=\"token keyword\">require:</span> scripts/functions.js</code></pre></div>\n<p class='warn'><a href=/1.11.7/docs/ru/JAICP_DSL/tags/declarative_tags/require  >Подробнее о работе с тегом <code class=\"language-text\">require</code></a></p>","frontmatter":{"title":"","description":null},"headings":[{"value":"JS-код в проекте чат-бота"}]}},"pageContext":{"slug":"/docs/ru/common/bot_structure/js/","previous":{"fields":{"slug":"/docs/ru/common/bot_structure/modules/"},"frontmatter":{"title":"","description":null}},"next":{"fields":{"slug":"/docs/ru/common/bot_structure/csv/"},"frontmatter":{"title":"","description":null}}}},
    "staticQueryHashes": ["1209419333"]}