Перейти к основному содержимому

Переменные

Переменная — это «ячейка» памяти, в которой хранятся данные. Данные, которые находятся в переменной, являются значением переменной.

Вы можете:

В переменной можно хранить имя клиента, ответ от сервера, данные из базы и многое другое. Чтобы использовать эти данные в сценарии, вам достаточно будет сослаться на переменную.

Какие есть переменные в Aimylogic

В Aimylogic есть автоматически генерируемые системные переменные и пользовательские переменные, которые вы можете создавать самостоятельно.

Как создать переменную

Вы можете создать переменную несколькими способами:

Объявить переменную через блок Условия

Чтобы создать переменную, добавьте блок Условия и укажите нужное JavaScript-выражение. Например, вы можете присвоить число, строку или значение другой переменной.

Сохранить данные от клиента

При помощи блоков text to $var, num to $var, file to $var и phone to $var вы можете сохранить в переменную текст, число, файл или номер телефона.

Когда вы добавляете один из этих блоков, при настройке блока укажите имя для переменной, в которую будут сохранены данные.

Сохранить результат последнего ввода клиента

Когда клиент пишет или говорит что-то, что попадает под какой-либо интент, вся реплика клиента сохраняется в системную переменную $queryText. Когда срабатывает новый интент, данные в переменной $queryText перезаписываются.

Чтобы сохранить ответ клиента и иметь к нему доступ на любом этапе сценария, вы можете создать новую переменную, присвоив ей значение переменной $queryText через блок Условия:

Пример сценария:

Пример диалога:

Сохранить результат HTTP-запроса

Aimylogic автоматически сохраняет результат выполнения HTTP-запроса в системную переменную $httpResponse. При выполнении нового запроса данные в переменной $httpResponse перезаписываются.

Чтобы не потерять данные определенного запроса, вы можете присвоить значение $httpResponse новой переменной через блок HTTP-запрос:

Блок HTTP-запрос

Как дать имя переменной

У переменной должно быть имя, чтобы бот мог обращаться к ней в сценарии.

Когда вы создаете переменную любым способом, вы указываете имя переменной самостоятельно. Системные переменные имеют свои зарезервированные имена.

Имя переменной:

  • Может содержать цифры, латинские буквы любого регистра и знаки нижнего подчеркивания.
  • Должно начинаться с буквы.
  • Не должно совпадать с зарезервированными словами языка JavaScript.

Чтобы добавить переменную в условие или обратиться к ней в сценарии, поставьте $ перед именем переменной: $имя_переменной.

Когда вы создаете переменную через один из блоков из секции Продвинутые инструменты или через блок HTTP-запрос, знак $ перед именем переменной указывать не нужно.

Как использовать переменные

Чтобы использовать ранее созданную переменную, перед ее именем нужно поставить знак $, например: $client_number.

Добавлять в условия

Вы можете использовать переменные в блоке Условия, чтобы бот менял ход диалога в зависимости от выполнения тех или иных условий.

Например, чтобы бот получил от клиента какое-либо число, а затем сравнил его с другим числом и в зависимости от результата выдал один из ответов:

  1. Добавьте в сценарий блок Условия.

  2. Добавьте необходимые JavaScript-выражения, чтобы бот сравнил значение переменной с другим значением. Это может быть число или другая переменная, содержащая число.

  3. Свяжите каждое условие с новым экраном.

В зависимости от результатов сравнения бот будет переходить на определенные экраны.

Подставлять в текст

Вы можете добавить значение любой переменной в ответ клиенту. Для этого укажите имя переменной в блоке Текст, используя знак $:

В сообщении клиенту имя переменной будет автоматически заменено на ее значение.

Например, если клиент угадает число из переменной $number и оно окажется равным 5, клиент получит следующее сообщение от бота: Да, это число 5.

Подставлять в HTTP-запрос

Чтобы отправить какие-либо данные на сторонний сервер или сформировать динамический запрос, вы можете передавать переменные вместе с запросом.