Переменные
Переменная — это «ячейка» памяти, в которой хранятся данные. Данные, которые находятся в переменной, являются значением переменной.
Вы можете:
- Объявлять переменные и присваивать им значения.
- Обращаться к переменным.
- Выводить значения переменных клиентам.
- Менять части переменных.
- Получать данные о клиентах из каналов через системную переменную.
В переменной можно хранить имя клиента, ответ от сервера, данные из базы и многое другое. Чтобы использовать эти данные в сценарии, вам достаточно будет сослаться на переменную.
Какие есть переменные в 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-запрос
Чтобы отправить какие-либо данные на сторонний сервер или сформировать динамический запрос, вы можете передавать переменные вместе с запросом.