Skip to main content

Variables

A variable is a “cell” in memory that stores data. The data in a variable is its value.

You can:

You can store the client name, the response from the server, data from the database, etc. in a variable. To use this data in the script, you just need to refer to a variable.

What variables Tovie DialogStudio has

Tovie DialogStudio has auto-generated system variables and user-defined variables that you can create.

How to create a variable

To create a variable, you can:

Declare a variable via the Conditions block

To create a variable, add the Conditions block and specify a JavaScript expression to assign a value to a variable — for example, a number, a string, or a value of another variable.

Save data from the client

With the text to $var, num to $var, and file to $var blocks, you can store text, a number, or a file in a variable.

When using one of these blocks, you need to specify a name for the variable the data will be saved to.

Save the result of the last client’s input

When a client writes or says something that is recognized by some intent, the whole client’s phrase is saved to the $queryText system variable. When another intent recognizes a new client’s input, the data in the $queryText variable is overwritten.

If you want to save a particular client’s input and have an access to it in the script, you can assign the $queryText value to a new variable via the Conditions block:

The script example:

The chat example:

Save the result of the HTTP request

Tovie DialogStudio automatically saves the result of the HTTP request to the $httpResponse system variable. When a new request is executed, the data in the $httpResponse variable is overwritten.

If you want to keep data of a particular request, you can assign the $httpResponse value to a new variable via the HTTP request block

HTTP request block

How to name a variable

A variable should always have a name so that the bot can refer to it in the script.

When you declare a variable, you specify its name. System variables have their own reserved names.

A variable name:

  • Can contain numbers, Latin characters of any case, and underscores.
  • Should start with a letter.
  • Must not match the JavaScript reserved words.

To add a variable to a condition or refer to it in a script, write its name with $ in front of it: $variable_name.

When you create a variable via one of the blocks from the Extended capabilities section or via the HTTP request block, you do not need to add $ in front of the variable name.

How to use variables

To use a variable you have created before, add $ in front of its name, for example:

$client_number

Add to conditions

You can use variables in the Conditions block to make the bot select a script branch depending on the condition that is fulfilled first.

For example, for your bot to receive a number from the client, compare it with another one, and follow the branch depending on the result:

  1. Add the Conditions block to the script.

  2. Add the necessary JavaScript expressions to make the bot compare the variable value with another one. It can be a number or another variable containing a number.

  3. Connect each condition with a new screen.

Depending on the comparison results, the bot will go to a particular screen.

Add to the text

You can add the value of any variable to the message text. To do this, when editing the Text block, add the variable name with $ in front of it:

In the message the client receives from the bot, the variable name will be automatically replaced with its value.

For example, if the client guesses the number stored in the $number variable that is equal to 5, the client will receive the following message: Yes, the number is 5.

Add to the HTTP request

To send data to a third-party server or make a dynamic request, you can add variables to the request.