{
    "componentChunkName": "component---src-templates-doc-page-js",
    "path": "/docs/en/JAICP_DSL/about_dsl/",
    "result": {"data":{"site":{"siteMetadata":{"title":"Gatsby-doc-engine"}},"markdownRemark":{"id":"a9d6301a-e834-5b86-bb79-432f58ebdbd5","excerpt":"JAICP DSL?> JAICP DSL is a language designed for the development of the chatbot behavior logic. The JAICP DSL provides a convenient format for describing the…","html":"<h1>JAICP DSL</h1>\n<hr>\n<p class='warn'><strong>JAICP DSL</strong> is a language designed for the development of the chatbot behavior logic. The JAICP DSL provides a convenient format for describing the finite state machine the chatbot is running on.</p>\n<p>The script file has a tree structure. The degree of nesting is controlled by indentation, similar to <code class=\"language-text\">python</code> and <code class=\"language-text\">yaml</code>.</p>\n</br>\n<p>JAICP DSL uses the linguistic structures of two types:</p>\n<ul>\n<li>NLU tags — sets the user's intentions.</li>\n<li>Declarative tags — describe chatbot structure, set dependencies between files and rules of transition between states.</li>\n<li>Reaction tags — are carried out when dialogue gets into a particular state.</li>\n</ul>\n</br>\n<h3>Local and global tags</h3>\n<p>DSL contains global and local tags. Global tags include <code class=\"language-text\">!</code> in the name, for example:</p>\n<ul>\n<li><code class=\"language-text\">intent</code> — local tag.</li>\n<li><code class=\"language-text\">intent!</code> — global tag.</li>\n</ul>\n<p class='warn'>The local tag is active only in the dialog context, and transition to the state is possible from the nearest parent state or from child states. You can use the global tag to transfer the dialogue into this state from any other state.</p>\n</br>\n<h3>List of tags</h3>\n</br>\n<table>\n<thead>\n<tr>\n<th>Tag</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><a href=\"/1.10.3/docs/en/NLU_core/intent\"><code class=\"language-text\">intent</code></a></td>\n<td>The path to the intent is written after the tag. An intent is a key entity of the NLU service; it unifies a set of phrases, user intent and other metadata.</td>\n</tr>\n<tr>\n<td><a href=\"/1.10.3/docs/en/JAICP_DSL/tags/declarative_tags/q\"><code class=\"language-text\">q</code></a></td>\n<td>Contains a <a href=\"/1.10.3/docs/en/Patterns/about_patterns\">pattern</a>. It is a local tag, which works only within a current state and its nested states.</td>\n</tr>\n<tr>\n<td><a href=\"/1.10.3/docs/en/classificator/e\"><code class=\"language-text\">e</code></a></td>\n<td>Is used for a single example, a reference a user request is to be compared to. One tag is one reply.</td>\n</tr>\n<tr>\n<td><a href=\"/1.10.3/docs/en/classificator/eg\"><code class=\"language-text\">eg</code></a></td>\n<td>An example group. When there a multiple examples for comparison, the <code class=\"language-text\">e</code> tag is impractical. You can use the <code class=\"language-text\">eg</code> tag and specify the required number of examples in a separate reference file.</td>\n</tr>\n<tr>\n<td><a href=\"/1.10.3/docs/en/JAICP_DSL/tags/declarative_tags/event\"><code class=\"language-text\">event</code></a></td>\n<td>Reaction to an event occurring in a channel, account or project.</td>\n</tr>\n<tr>\n<td><a href=\"/1.10.3/docs/en/JAICP_DSL/tags/declarative_tags/init\"><code class=\"language-text\">init</code></a></td>\n<td>Tag that allows you to specify the js-script to be executed when the bot script is loading. This js-script can install some handlers, create temporary variables, and perform other initialization.</td>\n</tr>\n<tr>\n<td><a href=\"/1.10.3/docs/en/JAICP_DSL/tags/declarative_tags/patterns\"><code class=\"language-text\">patterns</code></a></td>\n<td>The named patterns are to appear in <code class=\"language-text\">.sc</code> file after this tag. You can use them within any project file.</td>\n</tr>\n<tr>\n<td><a href=\"/1.10.3/docs/en/JAICP_DSL/tags/declarative_tags/require\"><code class=\"language-text\">require</code></a></td>\n<td>Tag serves to connect all the dependent files to the main script. In essence, it is an alternative option for indicating all the dependent files within <code class=\"language-text\">chatbot.yaml</code>.</td>\n</tr>\n<tr>\n<td><a href=\"/1.10.3/docs/en/JAICP_DSL/tags/declarative_tags/state\"><code class=\"language-text\">state</code></a></td>\n<td>The current state of a chatbot. States can have a nested structure.</td>\n</tr>\n<tr>\n<td><a href=\"/1.10.3/docs/en/JAICP_DSL/tags/declarative_tags/theme\"><code class=\"language-text\">theme</code></a></td>\n<td>The entry point of a chatbot. The system goes into this state right after a bot’s launch.</td>\n</tr>\n<tr>\n<td><a href=\"/1.10.3/docs/en/JAICP_DSL/tags/reaction_tags/a\"><code class=\"language-text\">a</code></a></td>\n<td>Delivers a text of the bot response.</td>\n</tr>\n<tr>\n<td><a href=\"/1.10.3/docs/en/JAICP_DSL/tags/reaction_tags/buttons\"><code class=\"language-text\">buttons</code></a></td>\n<td>Buttons which execute transitions between script’s states.</td>\n</tr>\n<tr>\n<td><a href=\"/1.10.3/docs/en/JAICP_DSL/tags/reaction_tags/go\"><code class=\"language-text\">go</code></a></td>\n<td>Deferred transition into specified state: reactions of a target state won’t be executed, but next user’s phrase will be processed in the target state’s context.</td>\n</tr>\n<tr>\n<td><a href=\"/1.10.3/docs/en/JAICP_DSL/tags/reaction_tags/go!\"><code class=\"language-text\">go!</code></a></td>\n<td>Immediate transition into specified state: all reactions of a target state will be performed.</td>\n</tr>\n<tr>\n<td><a href=\"/1.10.3/docs/en/JAICP_DSL/tags/reaction_tags/if_elseif_else\"><code class=\"language-text\">if/else/elseif</code></a></td>\n<td>Tags for simple conditions, outputting different responses depending on the conditions, transition to other states depending on the conditions.</td>\n</tr>\n<tr>\n<td><a href=\"/1.10.3/docs/en/JAICP_DSL/tags/reaction_tags/inline_buttons\"><code class=\"language-text\">InlineButtons</code></a></td>\n<td>Inline-buttons. By clicking on the inline button data or URL (<code class=\"language-text\">callback_data</code> or <code class=\"language-text\">URL</code> respectively) can be passed on. Inline-buttons are displayed inside a dialogue as chatbot responses.</td>\n</tr>\n<tr>\n<td><a href=\"/1.10.3/docs/en/JAICP_DSL/tags/reaction_tags/newSession\"><code class=\"language-text\">newSession</code></a></td>\n<td>Starts a new session.</td>\n</tr>\n<tr>\n<td><a href=\"/1.10.3/docs/en/JAICP_DSL/tags/reaction_tags/random\"><code class=\"language-text\">random</code></a></td>\n<td>Executes one random chatbot reaction out of all nested reactions.</td>\n</tr>\n<tr>\n<td><a href=\"/1.10.3/docs/en/JAICP_DSL/tags/reaction_tags/script\"><code class=\"language-text\">script</code></a></td>\n<td>Reaction script executes functions, inquiry processing logic, external system calls, work with the memory etc.</td>\n</tr>\n<tr>\n<td><a href=\"/1.10.3/docs/en/JAICP_DSL/tags/reaction_tags/audio\"><code class=\"language-text\">audio</code></a></td>\n<td>Use this tag to include audio recordings to bot replies.</td>\n</tr>\n<tr>\n<td><a href=\"/1.10.3/docs/en/JAICP_DSL/tags/reaction_tags/image\"><code class=\"language-text\">image</code></a></td>\n<td>Output of an image.</td>\n</tr>\n</tbody>\n</table>","frontmatter":{"title":"","description":null},"headings":[{"value":"JAICP DSL"}]}},"pageContext":{"slug":"/docs/en/JAICP_DSL/about_dsl/","previous":{"fields":{"slug":"/docs/en/JS_API/about_jsapi/"},"frontmatter":{"title":"","description":null}},"next":{"fields":{"slug":"/docs/en/Content_testing/test_widget/"},"frontmatter":{"title":"","description":null}}}},
    "staticQueryHashes": ["1209419333"]}