(start|play) music
Код
runScript('playFavoriteMusic');
|
report system state
|
Wiki
Шаблон: что такое|кто такой
Код
$keywords = preg_split("/[\s,]+/",$original); // помещаем запрос в массив
$totalz=count($keywords);
for($i=2;$i<$totalz;$i++) { // i=2 отсекаем голосовую команду (шаблон). в моем случае "что такое" или "кто такой". Значение i= равна кол-ву слов в голосовой комманде.
$message_textz=$message_textz." ".$keywords[$i];
}
say("$message_textz,ожидайте,ищу по вики ",2);
// Установка свойства объекта на основании полученной переменной
sg("Объект.Свойство",$message_textz);
context_getuser();
context_clear();
context_activate(ID);
$zap="$message_textz";
$zapurl=urlencode($zap);
$url='https://ru.wikipedia.org/w/api.php?action=opensearch&search='.$zapurl.'&prop=info&format=xml&inprop=url';
$answ=file_get_contents($url);
$data_xml = simplexml_load_string($answ); //загружаем ответ от вики в массив
$otvet=$data_xml->Section[0]->Item[0]->Description[0]; //получаем первый найденный вариант
$description = $data_xml->Section[0]->Item[0]->Description[0]; //получаем определение слова
if (empty($description)) { //если ничего не нашлось
say ("по прямому запросу ничего нет. уточните запрос",2);
for ($i=1; $i<50;) { // максимальное количество выводимых найденых вариантов запросов. можно сократить.
$description = $data_xml->Section[0]->Item[$i]->Description[0]; //получаем определение слова
if (!empty($description)) { //если определение есть, продолжаем
$otvet2=$data_xml->Section[0]->Item[$i]->Text[0]; // записываем следующий вариант запроса
//удаление спецсимволов
$otvet2=iconv("UTF-8","CP1251//IGNORE",$otvet2);
$otvet2=iconv("CP1251","UTF-8",$otvet2);
$otvet2="Вариант ".$i.":".$otvet2." "; // подготавливаем для озвучивания/ вывода на экран
say($otvet2,2);
$i++;
} else {
say("Больше вариантов нет.",2);
$i=100;
}
}
} else {
//удаление спецсимволов
$otvet=iconv("UTF-8","CP1251//IGNORE",$otvet);
$otvet=iconv("CP1251","UTF-8",$otvet);
say($otvet,2);
//Сохраняем запросы в файл. это лог. на работу скрипта не влияет. можно удалить
$data = fopen('wiki.xml', 'a'); //открываем файл для до записи 'a' для перезаписи 'w'
$message_textz = "\n#######\n".$message_textz." = ".$otvet."\n\n";
fwrite($data, $message_textz); //записываем результат выполнения
fclose($data); //закрываем
}
|
Включи или выключи
Шаблон: (^включи|^вруби|^выруби|^выключи)
|
Телевизор
Шаблон: (телевизор|телик|ящик|зомбоящик|тв|TV|ти ви)
Код
brLinkCommand('ТВ SONY Вкл/Откл');
|
|
выключить всё
|
Громкость
|
Сделай громче
Шаблон: Сделай громче|Прибавь громкость|Добавь громкость|Громче|Сделай по громче
Код
brLinkCommand('ТВ SONY Громкость +');
|
|
Запустить|Начать
Шаблон: ((З|з)апустить|(З|з)апусти|(Н|н)ачать|(Н|н)ачни|Старт)
|
Пылесос
Шаблон: пылесос|уборк(а|у)
Код
sg('MiVacuumCleaner.command','app_start');
|
|
Калькулятор
Шаблон: сколько будет (.*)
Код
$command=$matches[1];
$com=str_replace(',','.',$command);
$com=str_replace('один','1',$com);
$com=str_replace('два','2',$com);
$com=str_replace('три','3',$com);
$com=str_replace('x','*',$com);
$com=str_replace('х','*',$com);
$com=str_replace('разделить на','/',$com);
$com=str_replace('делить на','/',$com);
$com=str_replace('на','*',$com);
$com=str_replace('плюс','+',$com);
$com=str_replace('минус','-',$com);
$command=str_replace('x',' умножить на ',$command);
$command=str_replace('х',' умножить на ',$command);
//$command=str_replace('+',' плюс ',$command);
$command=str_replace('/',' разделить на ',$command);
$command=str_replace('/',' делить на ',$command);
$command=str_replace('-',' минус ',$command);
$com='$result=' . $com .';';
eval($com);
$result=str_replace('.',',',$result); //чтобы Алиса читала 1.5 как 'Один с половиной', а не 'Один точка пять', хотя это зависит от TTS-движка
say($command.' равно '.$result,2);
|
Каналы
Шаблон: Включи|^Переключи на|Переключи
|
Дисней
Код
brLinkCommand('Rostelecom Канал 3');
brLinkCommand('Rostelecom Канал 0');
brLinkCommand('Rostelecom Канал 2');
|
Карусель
Шаблон: Карусель|карусель|восьмой канал|8 канал
Код
brLinkCommand('Rostelecom Канал 8');
|
Мульт
Код
brLinkCommand('Rostelecom Канал 3');
brLinkCommand('Rostelecom Канал 0');
brLinkCommand('Rostelecom Канал 3');
|
Назад на ТВ
Шаблон: назад на ТВ|^на изображение|назад
|
Первый канал
Шаблон: Первый|1 канал|первый канал
Код
brLinkCommand('Rostelecom Канал 1');
|
ТНТ
Код
brLinkCommand('Rostelecom Канал 1');
brLinkCommand('Rostelecom Канал 9');
|
|
Остановить|Закончить
Шаблон: ((О|о)становить|(О|о)станови|(З|з)акончить|(З|з)акончи|Стоп)
|
Пылесос
Код
sg('MiVacuumCleaner.command','app_stop');
sleep(1);
sg('MiVacuumCleaner.command','app_charge');
|
|
Расскажи
|
Про интернет
Шаблон: про интернет|про инет|про провайдера
Код
say ('Про интернет к которому я подключена.', 5);
$url="https://api.2ip.ua/provider.json";
//Работаем со строкой JSON
$data = json_decode(file_get_contents($url), true);
$ip=$data["ip"]; // что искали
$name_ripe=$data["name_ripe"];
$name_rus=$data["name_rus"];
$site=$data["site"];
echo $ip;
say ("IP адрес ".$ip,5);
say ("Провайдер ".$name_rus,5);
say ("Сайт провайдера ".$site,5);
$url2="https://api.2ip.ua/geo.json?ip=".$ip;
echo $url2;
//Работаем со строкой JSON
$data = json_decode(file_get_contents($url2), true);
$country_rus=$data["country_rus"]; // что искали
$region_rus=$data["region_rus"];
$city_rus=$data["city_rus"];
say ("Мое местонахождение по мнению других:",5);
say ($country_rus,5);
say ($region_rus,5);
if ($city_rus!=$region_rus)
say ($city_rus,5);
|
|