Переменные
Переменная — это «ячейка» памят и, в которой хранятся данные. Данные, которые находятся в переменной, являются значением переменной.
Вы можете:
- Объявлять переменные и присваивать им значения.
- Обращаться к переменным.
- Выводить значения переменных клиентам.
- Менять части переменных.
- Получать данные о клиентах из каналов через системную переменную.
В переменной можно хранить имя клиента, ответ от сервера, данные из базы и многое другое. Чтобы использовать эти данные в сценарии, вам достаточно будет сослаться на переменную.
Какие есть переменные в Aimylogic
В Aimylogic есть автоматически генерируемые системные переменные и пользовательские переменные, которые вы можете создавать самостоятельно.
Как создать переменную
Вы можете создать переменную несколькими способами:
- Объявить через блок Условия.
- Сохранить данные от клиента.
- Сохранить результат последнего ввода клиента.
- Сохранить результат HTTP-запроса.
Объявить переменную через блок Условия
Чтобы создать переменную, добавьте блок Условия и укажите нужное JavaScript-выражение. Например, вы можете присвоить число, строку или значение другой переменной.

Сохранить данные от клиента
При помощи блоков text to $var, num to $var, file to $var и phone to $var вы можете сохранить в переменную текст, число, файл или номер телефона.
Когда вы добавляете один из этих блоков, при настройке блока укажите имя для переменной, в которую будут сохранены данные.
Сохранить результат последнего ввода клиента
Когда клиент пишет или говорит что-то, что попадает под какой-либо интент, вся реплика клиента сохраняется в системную переменную $queryText.
Когда срабатывает новый интент, данные в переменной $queryText перезаписываются.
Чтобы сохранить ответ клиента и иметь к нему доступ на любом этапе сценария, вы можете создать новую переменную, присвоив ей значение переменной $queryText через блок Условия:

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

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

Как дать имя переменной
У переменной должно быть имя, чтобы бот мог обращаться к ней в сценарии.
Когда вы создаете переменную любым способом, вы указываете имя переменной самостоятельно. Системные переменные имеют свои зарезервированные имена.
Имя переменной:
- Может содержать цифры, латинские буквы любого регистра и знаки нижнего подчеркивания.
- Должно начинаться с буквы.
- Не должно совпадать с зарезервированными словами языка JavaScript.
Чтобы добавить переменную в условие или обратиться к ней в сценарии, поставьте $ перед именем переменной: $имя_переменной.
Когда вы создаете переменную через один из блоков из секции Продвинутые инструменты или через блок HTTP-запрос, знак $ перед именем переменной указывать не нужно.
Как использовать переменные
Чтобы использовать ранее созданную переменную, перед ее именем нужно поставить знак $, например: $client_number.
Добавлять в условия
Вы можете использовать переменные в блоке Условия, чтобы бот менял ход диалога в зависимости от выполнения тех или иных условий.
Например, чтобы бот получил от клиента какое-либо число, а затем сравнил его с другим числом и в зависимости от результата выдал один из ответов:
-
Добавьте в сценарий блок Условия.
-
Добавьте необходимые JavaScript-выражения, чтобы бот сравнил значение переменной с другим значением. Это может быть число или другая переменная, содержащая число.
подсказка -
Свяжите каждое условие с новым экраном.

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

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