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

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

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

$queryText

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

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

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

$reply = $queryText

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

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

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

$userId

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

$channelId

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

$channelType

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

$rawRequest

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

$lastSeen

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

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

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

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

$chathistory

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

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

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

  • $history = $chathistory

$chathistoryjson

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