Системные переменные


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

В переменной $queryText хранится полный текст текущего пользовательского запроса.

С помощью переменной $queryText вы можете передавать введенный пользователем текст. Например, если вы используете блок Интенты, вы можете передать попавший туда текст с помощью HTTP-запроса и собирать все реакции пользователя, например, в свою Google Таблицу.

Для этого добавьте блок Условие и в нем напишите:

$reply = $queryText

Таким образом, мы создаем новую переменную $reply, которая будет содержать ввод пользователя. Далее, вы можете передать ее с помощью сервиса IFTTT.

system variables 1

В блоке Условия вы можете использовать любые Javascript выражения. В Javascript знак равенства используется для присвоения, поэтому мы в этом случае не уравниваем содержание этих переменных, а превращаем содержание системной переменной $queryText в содержание переменной $reply.

Затем вы можете выводить эту созданную переменную или передавать ее сообщением в Telegram, письмом или отправлять в Google Таблицу. И все благодаря системной переменной $queryText.

Уникальный идентификатор пользователя, который не меняется со временем. Этот идентификатор является уникальным только для пары бот-пользователь. То есть, если тот же самый пользователь обратится к другому вашему боту, то идентификатор уже будет другим.

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

Тип канала. Например, chatwidget, telegram или yandex.

Перечень типов каналов

Запрос в формате канала, из которого он поступил. Например, для канала Яндекс Алиса формат описан на сайте Яндекса. Эта переменная может пригодиться, если вам нужно получить какие-то дополнительные данные из изначального запроса — например, имя пользователя.

Подробнее о $rawRequest

В этой системной переменной хранится информация о том, сколько секунд назад был предыдущий запрос от этого пользователя. Если пользователь пришел в первый раз, то в переменной будет undefined. Эту переменную можно использовать, чтобы изменять логику бота для новых и уже известных пользователей. А также чтобы изменять логику, если бот видел пользователя давно и недавно.

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

system variables 2

Также вы можете задать временной интервал последнего обращения. Значение может быть задано в блоке Условия с помощью $lastSeen > 600.

system variables 3

Здесь 600 – это 600 секунд, то есть, 10 минут. Бот будет выдавать реплику «С возвращением!», если пользователь обращался более 10 минут назад, во всех остальных случаях – «Привет!».

$chathistory

В системной переменной $chathistory хранятся последние 100 сообщений диалога бота и клиента в рамках текущей сессии.

Если вы используете $chathistory для работы с вебхуками, то для передачи в вебхук эту переменную нужно объявить новой переменной — например, $history. При этом при работе с вебхуком нужно будет использовать новую переменную $history.

Объявить новую переменную можно таким образом:

  • $history = $chathistory

$chathistoryjson

По содержанию переменная $chathistoryjson аналогична переменной $chathistory — она тоже содержит историю диалога в рамках текущей сессии, но в формате JSON. В таком формате историю диалога в переменной можно отправлять в сторонние системы — например, в операторские каналы.