Using Functions

Using functions in your chatbot script will provide some powerful options. For example, you can make calculations on the fly for the user, or you can access, search, and filter a database based on user input.

Defining a function

Below is an example function, demonstrating the syntax to use in your chatbot script file. We recommend that you put functions at the top of your file.

> object getRandomNumber javascript
  return Math.random();
< object

The function is called getRandomNumber and we include the word javascript to indicate that the function is written in javascript. The object tag syntax encloses the function. Notice that something is returned to be used by the chatbot. In this case, it is a random number.

Accessing the Function

In order to use the function in your chat script, you use the <call> tag like below.

+ [*]random[*]
- Here is your random number: <call>getRandomNumber</call>

If the user says "Random number please" (the trigger), the getRandomNumber function is called and the returned random number will be the response.

User: Random number please.

Bot: Here is your random number: 0.874612

Passing Arguments to a Function

A function can also accept arguments or inputs. See the example below.

> object getSquared javascript
  var input = Number(args[0]);
  return input*input;
< object

The argument passed to the function is accessed by args[0]. If there were a second argument (like two numbers to be added) you would access it with args[1]. args is an array.

In order to use a function that accepts arguments, you place those values after the function name, like below.

+ square *
- <star> squared is <call>getSquared <star></call>

Notice that we are using the user's input as our argument--a number in this case--using the <star> tag.

User: square 4

Bot: 4 squared is 16