JS code in a chatbot project
tip
Tovie DSL uses JavaScript code snippets (ECMAScript 5 revision) to describe business logic and integration with external systems.
A bot can perform calculations, verify previously saved data and react depending on the results of the conversation. For example, a bot can store certain information in variables and re-use it during conversation. A bot can also check the communication channel and display corresponding graphics depending on the result.
JS code structure in a project
JS code in a project:
- Expressions in
if
,else
,elseif
tags — condition functions used to define conditional jump rules. script
tag — script snippets used to perform calculations and calls to external systems.init
tag — initialization scripts; executed only once when the script is loaded and can be used to create global variables and bind pre/post processes.- Linked JS files — these files are linked to the script via the
require
tag. They contain objects and functions that can be used in any other script. - Built-in functions — special objects and functions provided by the platform. They can provide functions that can be used to invoke a matcher or external services.
- Built-in libraries — JS libraries loaded automatically with each bot.
JS files
You can define your logic directly in the .sc
script file. But we recommend moving all your JS code to a separate file. You will need to create a file with the .js
extension in the src
folder, e.g. functions.js
. Add functions to it that can later be called from the script file after the script
tag.
caution
Please note that JS files contain objects and functions that can be used in any other script.
.js
files are linked at the start of the script via the require
tag:
require: scripts/functions.js