Переменные — это некоторые именованные значения, которыми можно оперировать в действиях и условиях. Многие функции генерируют переменные. Их список можно найти ниже.
Действия выполняются друг за другом. Поэтому переменные, сгенерированные одним действием, становятся доступными в последующих действиях и их условиях.
Функции
Вы можете использовать различные функции, чтобы работать с переменными в Ваших скриптах.
Регистр
При работе с переменными важно учитывать регистр букв! $Text и $text — разные переменные!
Стандартные переменные
В любом скрипте доступны следующие переменные по-умолчанию:
$pattern — порядковый номер сработавшего шаблона в скрипте (начиная с 1). Если в скрипте нет шаблонов, то значение переменно — 0.
$user_id — уникальный идентификатор устройства (строка)
$session — идентификатор сессии (генерируется каждый раз при инициализации ассистента)
$src — исходная строка текста запроса пользователя
$loc_lat — широта текущего местоположения
$loc_lon — долгота текущего местоположения
$current_time_ts — UNIX время
$response_text — текст ответа предыдущей команды в скрипте
$response_speech — произнесенный текст предыдущей команды в скрипте (чаще всего совпадает с $response_text)
Переменные шаблонов
Если в шаблоне есть ссылка на другой шаблон (например $Number или $Text), то они также добавляются в скрипт и их также можно использовать в действиях и условиях.
$Text
Если в сработавшем шаблоне скрипта есть $Text, то во всех действиях и условиях будет доступна переменная $Text с текстом, который туда попал.
$Number
Если в сработавшем шаблоне скрипта есть $Number, то во всех действиях и условиях будут доступны переменные:
$Number — число (например 2 или 100.4)
$Number_src — исходный текст числа (например «два» или «сто целых четыре десятых»)
$Date
Если в сработавшем шаблоне скрипта есть $Date, то во всех действиях и условиях будут доступны переменные:
$Date — строка исходного текста (наример, «послезавтра» или «первое января 2016»)
$Date_fmt — строка в формате дд.мм.гггг (например 22.10.1985)
$Date_iso — строка в формате гггг.мм.дд (например 1985.10.22)
$Date_ts — число миллискеунд в UNIX формате
$Date_day — день (например 22)
$Date_month — месяц (0 для января, 11 для декабря)
$Date_year — год (например 1985)
$Time
Если в сработавшем шаблоне скрипта есть $Time, то во всех действиях и условиях будут доступны переменные:
$Time — строка исходного текста
$Time_hour — часы (например 0 или 23)
$Time_minute — минуты
$Time_second — секунды
$Time_part — строка AM или PM (если указано во фразе)
$Contact
Если в сработавшем шаблоне скрипта есть $Contact, то во всех действиях и условиях будут доступны переменные:
$Contact — полное имя контакта
$Contact_src — строка исходного текста
$Contact_id — уникальный идентификатор контакта в базе (строка)
$Contact_raw — изначальный идентификатор (число, не совпадает с$Contact_id)
$Contact_name — то же, что и $Contact
$Contact_phones — массив телефонных номеров (строки)
$Contact_phone — первый номер телефона
$Contact_phone_simple — первый номер телефона, из которого убрано все, кроме цифр
$Contact_emails — массив почтовых ящиков (строки)
$Contact_email — первый email
$Contact_skype — скайп-имя контакта
$Contact_address — адрес контакта
$Contact_address_lat — широта адреса контакта
$Contact_address_lon — долгота адреса контакта
$Contact_address_city — название города
$Contact_address_country — страна
$Contact_address_country_code — код страны (например RU)
$Contact_data — ассоциативный массив данных о контакте, где ключ — это MIME данных (например, для скайпа — vnd.android.cursor.item/com.skype.android.skypecall.action), а значение — это сами данные (например, для скайпа это скайп-имя)
$Address
Если в сработавшем шаблоне скрипта есть $Address, то во всех действиях и условиях будут доступны переменные:
$Address — отформатированная строка адреса (полный адрес)
$Address_src — строка исходного текста
$Address_lat — широта адреса
$Address_lon — долгота адреса
$Address_city — город
$Address_country — страна
$Address_country_code — код старны (например RU)
$Lang
Если в сработавшем шаблоне скрипта есть $Lang (название языка), то во всех действиях и условиях будут доступны переменные:
$Lang — код языка (например ru или en)
$Lang_src — строка исходного текста
Именованные шаблоны
Если вы используете в шаблоне конструкции вида «$N1::Number» или «$T1::Text», то у вас появятся соотвествующие переменные с именами $N1 и $T1 с их производными.
Переменные функций
Некоторые функции в результате обработки запроса генерируют переменные, которые можно использовать в действиях и условиях.
Дата-время
Команда «который час» функции Дата-Время генерирует переменные:
$current_time — строка в формате чч:мм
Команда типа «сколько до 1 января» генерирует переменные:
$date_days — количество оставшихся дней
$date_hours — количество оставшихся часов
$date_mins — количество оставшихся минут
Погода
Команды функции Погода генерирует переменные:
$weather — строка с текстом информации о погоде (например «облачно» или «дождь»)
$weather_temp — температура (число, например 5 или -10)
Места
При поиске места или при команде «где я» генерируются следующие переменные:
$place_name — название места или его адрес
$place_address — адрес места
$place_city — город
$place_country — страна
$place_country_code — код страны
$place_lat — широта места (например 59.53122)
$place_lng — долгота места
Навигация
При построении маршрутов генерируются переменные:
$nav_address — адрес финиша
$nav_city — город
$nav_country — страна
$nav_country_code — код страны
$nav_lat — широта финиша
$nav_lon — долгота финиша
Курсы валют
При поиске курсов валют генерируются переменные:
$currency_to — код целевой валюты (например RUB)
$currency_from — код базовой валюты
$currency_price — цена (число, например 65.52)
Заряд батареи
Команда «заряд батареи» сгенерирует переменную $battery_level (например, 25)
Калькулятор
Любое вычисление сохранит свой результат в переменную $calc
Звонки
Команда «Кто звонил» сохранит последний пропущенный звонок в переменных:
$call_missed_phone — номер телефона (может быть пустым)
$call_missed_contact — имя контакта (если такой телефон есть в базе)