(start|play) music
Code
runScript('playFavoriteMusic');
|
report system state
|
Включи (музыку|радио)
Code
say("Какое радио включить?",2);
ask("Какое радио включить?", "192.168.1.58");
|
44
Code
cm('RadioSetting.Control', array('sta'=>'Русское регги 44', 'cmd'=>'play', 'vol'=>100));
say("Хорошо, включаю русское регги.",2);
|
88
Code
cm('RadioSetting.Control', array('sta'=>'Reggae 88', 'cmd'=>'play', 'vol'=>100));
say("Хорошо, включаю reggae.",2);
|
|
включи свет
Code
say("Хорошо, включаю свет",2);
sg("mono_0x000000000361f1aa.status","1");
sg("mono_0x00000000036251c5.status","1");
sg("mono_0x0000000003620de3.status","1");
sg("mono_0x000000000362054e.status","1");
|
Выключи (музыку|радио)
Code
say("Хорошо, выключаю музыку",2);
cm('RadioSetting.Control', array('stop'));
|
выключи свет
Code
say("Хорошо, выключаю свет",2);
sg("mono_0x000000000361f1aa.status","0");
sg("mono_0x00000000036251c5.status","0");
sg("mono_0x0000000003620de3.status","0");
sg("mono_0x000000000362054e.status","0");
|
выключить всё
|
Как дела
Code
$kak_dela = getRandomLine('howareyou');
say($kak_dela,2);
|
Какая температура дома
Code
$temp_home = getGlobal('XiSensor_temp01.value');
$temp_home = round($temp_home, 0);
say("Температура дома ".$temp_home." °C",2);
|
Какая температура на улице
Code
$temp_ulica = getGlobal('XiSensor_temp02.value');
$temp_ulica = round($temp_ulica, 0);
say("Температура на улице ".$temp_ulica." °C",2);
|
Расскажи анекдот
Code
include_once(DIR_MODULES . 'sayjokes/sayjokes.class.php');
$sj = new sayjokes();
$sj->getjoke(1);
|
Сделай громкость (.+)
Code
getURL('http://localhost/popup/app_player.html?ajax=1&command=volume&volume='.$matches[1],0);
say('Громкость '.$matches[1].' %',1);
|
Сделай громкость (.+) (copy)
Code
getURL('http://localhost/popup/app_player.html?ajax=1&command=volume&volume='.$matches[1],0);
say('Громкость '.$matches[1].' %',1);
|
скажи (.+)
Code
|
Яндекс.Переводчик
Pattern: (П|п)ереве(ди|сти|зти) на (.+) (слово|фраза|фразу|выражение)
Code
$apikey = "trnsl.1.1.20181230T180748Z.a217b0e7546e4730.54cd74fcc842ff51a2c143ef74cbe95ac2452df9"; //API-ключ с яндекса получить можно здесь https://translate.yandex.ru/developers/keys КАВЫЧКИ НЕ УБИРАТЬ!!!
$message_text=$original; //вся фраза целиком (Переведи на английский фразу ПЕРЕВОДИМАЯ ФРАЗА)
$keywords = preg_split("/[\s,]+/",$original); //Разбиваем фразу на отдельные слова
$total=count($keywords); //Считаем сколько слов в оригинальной фразе
$xtotal=$total - 4; //$xtotal - количество слов после шаблонного запроса, ($total -4) цифра 4 - это количество слов в шаблоне запроса до переводимой фразы/слова
//извлекаем переводимое слово/фразу, т.е. отсекаем запрос "Переведи на английский фразу" от всего запроса оставляя то, что надо перевести на другой язык
for($i=$xtotal;$i<$total;$i++) {
$message_text = substr(strstr($message_text," "), 1);
}
$message_text_strrep = str_replace(" ","%20",$message_text); //заменяем пробелы на %20 в переводимом слове/фразе для запроса GET (не понимает пробелов)
//sayreply($message_text,2); //проверка на вывод поисковой фразы
$langfrom = file_get_contents("https://translate.yandex.net/api/v1.5/tr.json/detect?key=".$apikey."&text=".$message_text_strrep); // Определяем с какого языка будет перевод (если английский - вывод: {"code":200,"lang":"en"})
$langfrom = substr($langfrom , strpos($langfrom , 'g')+4); // обрезаем полученную строку {"code":200,"lang":"en"} с начала до en"}
$langfrom = strstr($langfrom , '"', true); // теперь режем последние символы "}, чтоб осталось en
//определяем переменную на какой язык надо перевести
if($matches[3]=="азербайджанский"){$langto="az";}
elseif($matches[3]=="албанский"){$langto="sq";}
elseif($matches[3]=="амхарский"){$langto="am";}
elseif($matches[3]=="английский"){$langto="en";}
elseif($matches[3]=="арабский"){$langto="ar";}
elseif($matches[3]=="армянский"){$langto="hy";}
elseif($matches[3]=="африкаанс"){$langto="af";}
elseif($matches[3]=="баскский"){$langto="eu";}
elseif($matches[3]=="башкирский"){$langto="ba";}
elseif($matches[3]=="белорусский" || $matches[3]=="беларуский"){$langto="be";}
elseif($matches[3]=="бенгальский"){$langto="bn";}
elseif($matches[3]=="бирманский"){$langto="my";}
elseif($matches[3]=="болгарский"){$langto="bg";}
elseif($matches[3]=="боснийский"){$langto="bs";}
elseif($matches[3]=="валлийский"){$langto="cy";}
elseif($matches[3]=="венгерский"){$langto="hu";}
elseif($matches[3]=="вьетнамский"){$langto="vi";}
elseif($matches[3]=="гаитянский" || $matches[3]=="креольский"){$langto="ht";}
elseif($matches[3]=="галисийский"){$langto="gl";}
elseif($matches[3]=="голландский"){$langto="nl";}
elseif($matches[3]=="горномарийский"){$langto="mrj";}
elseif($matches[3]=="греческий"){$langto="el";}
elseif($matches[3]=="грузинский"){$langto="ka";}
elseif($matches[3]=="гуджарати"){$langto="gu";}
elseif($matches[3]=="датский"){$langto="da";}
elseif($matches[3]=="иврит"){$langto="he";}
elseif($matches[3]=="идиш"){$langto="yi";}
elseif($matches[3]=="индонезийский"){$langto="id";}
elseif($matches[3]=="ирландский"){$langto="ga";}
elseif($matches[3]=="итальянский"){$langto="it";}
elseif($matches[3]=="исландский"){$langto="is";}
elseif($matches[3]=="испанский"){$langto="es";}
elseif($matches[3]=="казахский"){$langto="kk";}
elseif($matches[3]=="каннада"){$langto="kn";}
elseif($matches[3]=="каталанский"){$langto="ca";}
elseif($matches[3]=="киргизский"){$langto="ky";}
elseif($matches[3]=="китайский"){$langto="zh";}
elseif($matches[3]=="корейский"){$langto="ko";}
elseif($matches[3]=="коса"){$langto="xh";}
elseif($matches[3]=="кхмерский"){$langto="km";}
elseif($matches[3]=="лаосский"){$langto="lo";}
elseif($matches[3]=="латынь" || $matches[3]=="латинский"){$langto="la";}
elseif($matches[3]=="латышский"){$langto="lv";}
elseif($matches[3]=="литовский"){$langto="lt";}
elseif($matches[3]=="люксембургский"){$langto="lb";}
elseif($matches[3]=="малагасийский"){$langto="mg";}
elseif($matches[3]=="малайский"){$langto="ms";}
elseif($matches[3]=="малаялам"){$langto="ml";}
elseif($matches[3]=="мальтийский"){$langto="mt";}
elseif($matches[3]=="македонский"){$langto="mk";}
elseif($matches[3]=="маори"){$langto="mi";}
elseif($matches[3]=="маратхи"){$langto="mr";}
elseif($matches[3]=="марийский"){$langto="mhr";}
elseif($matches[3]=="монгольский"){$langto="mn";}
elseif($matches[3]=="немецкий"){$langto="de";}
elseif($matches[3]=="непальский"){$langto="ne";}
elseif($matches[3]=="норвежский"){$langto="no";}
elseif($matches[3]=="панджаби"){$langto="pa";}
elseif($matches[3]=="папьяменто"){$langto="pap";}
elseif($matches[3]=="персидский"){$langto="fa";}
elseif($matches[3]=="польский"){$langto="pl";}
elseif($matches[3]=="португальский"){$langto="pt";}
elseif($matches[3]=="румынский"){$langto="ro";}
elseif($matches[3]=="русский"){$langto="ru";}
elseif($matches[3]=="себуанский"){$langto="ceb";}
elseif($matches[3]=="сербский"){$langto="sr";}
elseif($matches[3]=="сингальский"){$langto="si";}
elseif($matches[3]=="словацкий"){$langto="sk";}
elseif($matches[3]=="словенский"){$langto="sl";}
elseif($matches[3]=="суахили"){$langto="sw";}
elseif($matches[3]=="сунданский"){$langto="su";}
elseif($matches[3]=="таджикский"){$langto="tg";}
elseif($matches[3]=="тайский"){$langto="th";}
elseif($matches[3]=="тагальский"){$langto="tl";}
elseif($matches[3]=="тамильский"){$langto="ta";}
elseif($matches[3]=="татарский"){$langto="tt";}
elseif($matches[3]=="телугу"){$langto="te";}
elseif($matches[3]=="турецкий"){$langto="tr";}
elseif($matches[3]=="удмуртский"){$langto="udm";}
elseif($matches[3]=="узбекский"){$langto="uz";}
elseif($matches[3]=="украинский"){$langto="uk";}
elseif($matches[3]=="урду"){$langto="ur";}
elseif($matches[3]=="финский"){$langto="fi";}
elseif($matches[3]=="французский"){$langto="fr";}
elseif($matches[3]=="хинди"){$langto="hi";}
elseif($matches[3]=="хорватский"){$langto="hr";}
elseif($matches[3]=="чешский"){$langto="cs";}
elseif($matches[3]=="шведский"){$langto="sv";}
elseif($matches[3]=="шотландский"){$langto="gd";}
elseif($matches[3]=="эстонский"){$langto="et";}
elseif($matches[3]=="эсперанто"){$langto="eo";}
elseif($matches[3]=="яванский"){$langto="jv";}
elseif($matches[3]=="японский"){$langto="ja";}
$lang = $langfrom."-".$langto; //направление перевода. пример en-ru
$text = file_get_contents("https://translate.yandex.net/api/v1.5/tr.json/translate?key=".$apikey."&text=".$message_text_strrep."&lang=".$lang."&format=plain"); //получаем перевод. Вывод GET запроса: {"code":200,"lang":"en-ru","text":["Перевести эту фразу"]}
$answercode = substr($text,8,3); //смотрим код ответа
//если всё хорошо то:
if ($answercode == 200) {
$text = substr($text, strpos($text, '[')+2); //обрезаем вывод GET запроса до символа [. +2 - удаляем сам знак [ и следующий за ним символ
$say = strstr($text, '"', true); //обрезаем вывод GET запроса с конца до первых кавычек, включая и кавычки
if ($matches[4] == "фразу") {$matches[4] = "фраза";} //делаем удобоваримый для слуха ответ от Алисы
say($matches[4].": ".$message_text." переводится на ".$matches[3]." как: ".$say,2); // собственно сам выхлоп перевода, то , что скажет нам в ответ Алиса
}
//иначе сообщаем об ошибке (пока почему-то не работает, при ошибке file_get_contents возвращает пустое значение (через строку браузера всё работает :-( ))
elseif ($answercode == 401) {say("Неправильный API-ключ",2);}
elseif ($answercode == 402) {say("API-ключ заблокирован",2);}
elseif ($answercode == 404) {say("Превышено суточное ограничение на объем переведенного текста",2);}
else {say("Неизвестный код ответа сервера: ".$answercode,2);}
|