(останови|выключи)
|
(музыку|радио)
Код
runScript('playStop');
say('Выключаю музыку',1);
|
|
(поставь|включ)(и|ить)
Код
say('Что именно '.$original.'ть?');
|
музыку
Код
runScript('playFavoriteMusic');
say('Включаю музыку',1);
|
радио
|
(.+)
Код
if($matches[0] =='Включи радио Энерджи')
{
sayReply($matches[0],0);
getURL('http://localhost/popup/app_101ru.html?&ajax=1&op=playstation&id=183',0);
}
else if($matches[0] == 'Включи радио Энигма')
{
sayReply($matches[0],0);
getURL('http://localhost/popup/app_101ru.html?ajax=1&op=playstation&id=148', 0);
}
else if($matches[0] =='Включи радио Кавказ хит')
{
sayReply($matches[0],0);
getURL('http://localhost/popup/app_101ru.html?ajax=1&op=playstation&id=173', 0);
}
else if($matches[0] =='Включи радио Депеш Мод')
{
sayReply($matches[0],0);
getURL('http://localhost/popup/app_101ru.html?ajax=1&op=playstation&id=147', 0);
}
else if($matches[0] =='Включи радио Высоцкий')
{
sayReply($matches[0],0);
getURL('http://localhost/popup/app_101ru.html?ajax=1&op=playstation&id=155', 0);
}
else if($matches[0] =='Включи радио ABBA')
{
sayReply($matches[0],0);
getURL('http://localhost/popup/app_101ru.html?ajax=1&op=playstation&id=144', 0);
}
else if($matches[0] =='Включи радио Boney M')
{
sayReply($matches[0],0);
getURL('http://localhost/popup/app_101ru.html?ajax=1&op=playstation&id=145', 0);
}
else if($matches[0] =='Включи радио Modern Talking')
{
sayReply($matches[0],0);
getURL('http://localhost/popup/app_101ru.html?ajax=1&op=playstation&id=146', 0);
}
else if($matches[0] =='Включи радио би-2')
{
sayReply($matches[0],0);
getURL('http://localhost/popup/app_101ru.html?ajax=1&op=playstation&id=137', 0);
}
else if($matches[0] =='Включи радио Детские сказки')
{
sayReply($matches[0],0);
getURL('http://localhost/popup/app_101ru.html?ajax=1&op=playstation&id=106', 0);
}
else if($matches[0] =='Включи радио Мадонна')
{
sayReply($matches[0],0);
getURL('http://localhost/popup/app_101ru.html?ajax=1&op=playstation&id=139', 0);
}
else if($matches[0] =='Включи радио Милен фарме')
{
sayReply($matches[0],0);
getURL('http://localhost/popup/app_101ru.html?ajax=1&op=playstation&id=140', 0);
}
else if($matches[0] =='Включи радио Миша джексон')
{
sayReply($matches[0],0);
getURL('http://localhost/popup/app_101ru.html?ajax=1&op=playstation&id=138', 0);
}
else if($matches[0] =='Включи радио Релакс')
{
sayReply($matches[0],0);
getURL('http://localhost/popup/app_101ru.html?ajax=1&op=playstation&id=187', 0);
}
else if($matches[0] =='Включи радио Робби Уильямс')
{
sayReply($matches[0],0);
getURL('http://localhost/popup/app_101ru.html?ajax=1&op=playstation&id=142', 0);
}
else if($matches[0] =='Включи радио Русские народные')
{
sayReply($matches[0],0);
getURL('http://localhost/popup/app_101ru.html?ajax=1&op=playstation&id=177', 0);
}
else if($matches[0] =='Включи радио Сандра')
{
sayReply($matches[0],0);
getURL('http://localhost/popup/app_101ru.html?ajax=1&op=playstation&id=141', 0);
}
else if($matches[0] =='Включи радио Элтон Джон')
{
sayReply($matches[0],0);
getURL('http://localhost/popup/app_101ru.html?ajax=1&op=playstation&id=143', 0);
}
else if($matches[0] =='Включи радио Classic music')
{
sayReply($matches[0],0);
getURL('http://localhost/popup/app_101ru.html?ajax=1&op=playstation&id=180', 0);
}
else
{
sayReply('Нет такого радио',0);
}
|
|
свет
Код
|
коридор
Код
if (preg_match('/включи/is',$original)) {
say('Включаю свет в коридоре');
} elseif (preg_match('/выключи/is',$original)) {
say('Выключаю свет в коридоре');
} else {
say('Непонятно что со светом в коридоре: '.$original);
}
|
|
|
(Ч|ч|Ш|ш)то такое (.+)
Код
//устанавливаем кодировки
header("Content-type: text/html;charset=utf-8");
mb_internal_encoding("UTF-8");
$word = $request = $matches[1]; //получаем искомое слово
$space_replace = preg_match_all("#\s#isu", $request, $s); //проверяем, есть ли пробелы в запросе
if ($space_replace === 1) { //если есть
$request = preg_replace("#\s#", '_', $request); //меняем их на _
}
$url = 'https://ru.wikipedia.org/w/api.php?action=opensearch&search='.$request.'&format=xml'; //формируем запрос
$ch = curl_init(); //инициируем curl
curl_setopt($ch, CURLOPT_URL, $url); //передаем url
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); //возвращаем результат в виде строки
curl_setopt($ch, CURLOPT_USERAGENT, 'MyBot/1.0 (http://www.mysite.com/)'); //имитируем браузер
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //отключаем проверку ssl-сертификата узла
$result = curl_exec($ch); //выполяем curl
$data = fopen('test.xml', 'w'); //открываем файл для записи
fputs($data, $result); //записываем результат выполнения
fclose($data); //закрываем
$file = 'test.xml'; //указываем файл
$data_xml = simplexml_load_file($file); //загружаем его и раскладываем на массив
$text = $text1 = $data_xml->Section[0]->Item[0]->Text[0]; //получаем первый найденный вариант
$description = $data_xml->Section[0]->Item[0]->Description[0]; //получаем определение слова
$description = mb_convert_encoding($description, 'UTF-8', 'UTF-8'); //конвертируем utf-8 без bom в простой utf-8
if (empty($description)) { //если ничего не нашлось
say ("Я не знаю такого слова.");
} elseif (!empty($description)) { //иначе
$text = preg_replace("#ё#", 'е', $text); //меняем "ё" на "е"
$text = mb_strtolower($text, 'utf-8'); //меняем регистр всех букв на нижний
if ($word === $text) { //если первый результат равен введенному слову
function utf8_str_split($str) {
// переводим каждый символ в массив строк
$split=1;
$array = array();
for ( $i=0; $i < strlen( $str ); ){
$value = ord($str[$i]); //возвращаем ASCII-код сиволов и проверяем их на корректность
if($value > 127){
if($value >= 192 && $value <= 223)
$split=2;
elseif($value >= 224 && $value <= 239)
$split=3;
elseif($value >= 240 && $value <= 247)
$split=4;
}else{
$split=1;
}
$key = NULL;
for ( $j = 0; $j < $split; $j++, $i++ ) {
$key .= $str[$i];
}
array_push( $array, $key );
}
return $array;
}
/**
* Функция вырезки
* @param $str
* @return
*/
function clearstr($str){
$sru = 'ёйцукенгшщзхъфывапролджэячсмитьбю';
$s1 = array_merge(utf8_str_split($sru), utf8_str_split(strtoupper($sru)), range('A', 'Z'), range('a','z'), range('0', '9'), array('&',' ','#',';','%','?',':','(',')','-','_','=','+','[',']',',','.','/','\\'));
$codes = array();
for ($i=0; $iSection[0]->Item[1]->Text[0]; //получаем второе совпадение
$text3 = $data_xml->Section[0]->Item[2]->Text[0]; //получаем третье совпадение
$say = "По Вашему запросу совпадений не найдено. Похожие результаты: ";
//$say.=$text1 .", " .$text2 ." и " .$text3 .".";
$say.=$text1; //первый похожий резальтат
if ($text2 ==='') { //если во втором результате пусто
$say.="."; //ставим точку
} else { //иначе
$say.= ", " .$text2; //ставим запятую и дописываем второй вариант
if ($text3 === '') { //если в третьем результате пусто
$say.="."; //ставим точку
} else { //иначе
$say.=" и " .$text3; //ставим запятую и дописываем третий вариант
}
}
say($say);
}
}
|
report system state
|
Напомни через (\d+) минут (.+)
Код
setTimeOut('timer','say("'.$matches[2].'");',$matches[1]*60);
|
Повтори (.+)
Код
|
представь
Код
say($add_word."Меня зовут Алиса. Я являюсь программой управления этим домом. Всегда к ваши услугам.",5);
|
Приветик
Код
say("приветик",2);
//sayReply("приветик",2);
|
Пример активации контекста
Код
say("Что-нибудь хотите?");
|
(.+)
Код
say("Вы сказвли'".$matches[1]."', я не понимаю...");
|
да
Код
|
нет
Код
|
|
ско.+? время
Код
say('Сейчас '.timeNow());
|
статус системы
Код
$res='';
if (gg('Security.stateColor')=='green' && gg('System.stateColor')=='green' && gg('Communication.stateColor')=='green') {
$res='Все системы работают в штатном режиме';
} else {
if (gg('Security.stateColor')!='green') {
$res.=" Проблема безопасности: ".getGlobal('Security.stateDetails');
}
if (gg('System.stateColor')!='green') {
$res.=" Системная проблема: ".getGlobal('System.stateDetails');
}
if (gg('Communication.stateColor')!='green') {
$res.=" Проблема связи: ".getGlobal('Communication.stateDetails');
}
}
say($res,5);
|