(сколько|скажи) время
Код
say("Движение на кухне не обнаружила,скорее всего никого нет.Всё выключила");
|
OFF
Шаблон: выклю(чи|чить) (.+)
|
бра
Код
if(gg('L3b.status')=="0")
{sayReply("Бра уже выключена",0);}
else
{if(gg('L3b.status')=="1")
{sg("L3b.status","0");
sg("R1bra.status","0");
sayReply("Выключила бра и розетку.",0);}}
|
всё
|
детский будильник
Код
sayReply("Выключаю детский будильник",2);
setGlobal('Child.AlarmOn',0);
|
зеркал(о|а)
Код
if(gg('V1b.status') == 0)
{sayReply("А освещение зеркала раковины выключено",1);
} else {
if(gg('V1b.status') == 1)
{sg('V1b.status',0);
sg('R2b.status',0);
sayReply("Выключила свет и розетку зеркала умывальника",1);
}
}
|
компьютер
Код
if(gg('R3k.status') == 0)
{sayReply("А компьютер и так выключен",1);
} else {
if(gg('R3k.status') == 1)
{sg('R3k.status',0);
sayReply("Выключила компьютер на кухне",1);
}
}
|
музыку
|
ночник в зале
Код
|
плиту
Код
if(gg('R2k.status')=="0")
{sayReply("А плита уже выключена",0);}
else
{if(gg('R2k.status')=="1")
{sg("R2k.status","0");
sayReply("Выключила варочную панель на кухне",0);}}
|
подсветку в детской
Код
if(gg('LED.status') == 0)
{sayReply("А она и не горит",1);
} else {
if(gg('LED.status') == 1)
{sg('LED.status',0);
sayReply("Выключила синюю подсветку в детской комнате.",1);
}
}
|
рабочий будильник
Код
sayReply("Выключила рабочий будильник",2);
setGlobal('Work.AlarmOn',0);
|
радио
Код
cm('RadioSetting.Control',array('cmd'=>'stop'));
|
режим никого нет дома
Код
callMethod("NobodyHomeMode.deactivate");
|
режим ночь
Код
callMethod('NightMode.deactivate');
|
режим эконом
Код
callMethod('EconomMode.deactivate');
|
розетку (А|а)л(ё|е)н(ы|а)
Код
if(gg('R1ch.status')=="0")
{sayReply("А розетка Алёны выключена",0);}
else
{if(gg('R1ch.status')=="1")
{sg("R1ch.status","0");
sayReply("Выключила розетку Алёны.",0);}}
|
розетку (А|а)лис(ы|ии|а)
Код
if(gg('R0ch.status')=="0")
{sayReply("А розетка Алисии и так выключена",0);}
else
{if(gg('R0ch.status')=="1")
{sg("R0ch.status","0");
sayReply("Выключила розетку Алисии.",0);}}
|
розетку в прихожей
Код
if(gg('R1H.status')=="0")
{sayReply("А розетка выключена",0);}
else
{if(gg('R1H.status')=="1")
{sg("R1H.status","0");
sayReply("Выключила розетку в прихожей.",0);}}
|
свет в ванной
Код
if (gg('L1b.status') == 0) {
sayReply("А освещение ванны уже выключено",1);
} else {
if(gg('L1b.status') == 1)
{sg('L1b.status',0);
sayReply("Выключила главное освещение ванной комнаты",1);
}
}
|
свет в детской
Код
if (gg('L0ch.status') == 1 && gg('L1ch.status') == 0)
{sayReply("Горит только со стола . Выключаю его",1);
ClearTimeOut("Kinderroom_activity_timeout");
sg('L0ch.status',0);
} else
if (gg('L0ch.status') == 0 && gg('L1ch.status') == 1)
{sayReply("Включен от двери . Выключаю его.",1);
ClearTimeOut("Kinderroom_activity_timeout");
sg('L1ch.status',0);
} else
if (gg('L0ch.status') == 0 && gg('L1ch.status') == 0)
{sayReply("Свет уже потушен . Обе клавиши выключены!",1);
ClearTimeOut("Kinderroom_activity_timeout");
} else
if (gg('L0ch.status') == 1 && gg('L1ch.status') == 1)
{sg('L0ch.status',0);
sg('L1ch.status',0);
ClearTimeOut("Kinderroom_activity_timeout");
sayReply("Выключила освещение в детской комнате.",0);
}
|
свет в зале
Код
if (gg('L3H.status') == 0)
{sayReply("Свет в зале выключен",0);
} else {
if (gg('L3H.status') == 1)
{sg('L3H.status',0);
ClearTimeOut("Livingroom_activity_timeout");
sayReply("Выключила главное освещение в зале.",0);
}
}
|
свет в подъезде
Код
if (gg('L1out.status') == 0) {
sayReply("А свет в подъезде не горит",0);
} else {
if(gg('L1out.status') == 1)
{sg('L1out.status',0);
sayReply("Выключила освещение в подъезде.",0);
}
}
|
свет в прихожей
Код
if(gg('L1H.status')==0)
{sayReply("А он и так выключен",0);}
else
{if(gg('L1H.status')==1)
{sg('L1H.status',0);
sg('R1H.status',0);
clearTimeOut("Hall_activity_timeout");
sayReply("Выключила освещение прихожей и розетку.",1);}}
|
свет в туалете
Код
if (gg('L2b.status') == 0) {
sayReply("Свет в туалете не горит",1);
} else {
if (gg('L2b.status') == 1)
{ sg('L2b.status',0);
clearTimeOut('Toilet_activity_timeout');
sayReply("Выключила свет в туалете",1);
}
}
|
свет на кухне
Код
if (gg('L1k.status') == 0) {
say("А свет уже выключен",1);
} else {
if (gg('L1k.status') == 1)
{sg('L1k.status',0);
ClearTimeOut("Kitchen_activity_timeout");
say("Выключила свет на кухне",1);
}
}
|
свет над машинк(а|ой)
Код
if(gg('V2b.status') == 0)
{sayReply("Освещение второго зеркала выключено",1);
} else {
if(gg('V2b.status') == 1)
{sg('V2b.status',0);
sayReply("Выключила свет второго зеркала",1);
}
}
|
телевизор в зале
Код
if(gg('R2H.status') == 0)
{sayReply("А он и так выключен",1);
} else {
if(gg('R2H.status') == 1)
{sg('R2H.status',0);
sg('R3H.status',0);
ClearTimeOut("Livingroom_activity_timeout");
sayReply("Выключила телевизор в зале.",1);
}
}
|
телевизор на кухне
Код
if (gg('R1k.status') == 0) {
say("А телевизор на кухне уже выключен.",1);
} else {
if (gg('R1k.status') == 1)
{sg('R1k.status',0);
say("Выключила телевизор на кухне",1);
}
}
|
|
ON
Шаблон: вклю(чи|чить) (.+)
Код
say("Я не поняла Вашей команды . Повторите ещё раз ,пожалуйста !",2);
|
бра
Код
if(gg('L3b.status') == 1)
{say("Бра уже включена",1);
} else {
if(gg('L3b.status') == 0)
{sg('L3b.status',1);
sg('R1bra.status',1);
say("Включила бра и розетку.",1);
}
}
|
зеркал(о|а)
Код
if(gg('V1b.status')=="1")
{say("Там всё включено",1);}
else
{if(gg('V1b.status')=="0")
{sg("V1b.status","1");
sg("R2b.status","1");
say("Включила свет и розетку зеркала умывальника",1);}}
|
компьютер
Код
if (gg('R3k.status') == 1) {
say("А компьютер уже включен",1);
} else {
if(gg('R3k.status') == 0)
{sg('R3k.status',1);
say("Включила компьютер на кухне",1);
}
}
|
музыку
Код
say("Включаю Вашу любимую музыку",1);
runScript('playFavoriteMusic');
|
ночник в зале
Код
|
плиту
Код
if (gg('R2k.status') == 1) { say("А плита уже включена",2);
} else {
if(gg('R2k.status') == 0)
{sg('R2k.status',1);
say("Включила варочную панель на кухне",2);}
}
|
подсветку в детской
Код
if(gg('LED.status')=="1")
{say("А подсветка уже включена",1);}
else
{if(gg('LED.status')=="0")
{sg("LED.status","1");
say("Включила синюю подсветку в детской комнате.",1);}}
|
радио
Код
cm('RadioSetting.Control',array('cmd'=>'play','vol'=>60));
|
режим никого нет дома
Код
callMethod("NobodyHomeMode.activate");
|
режим ночь
Код
callMethod('NightMode.activate');
|
режим эконом
Код
callMethod('EconomMode.activate');
|
розетку (А|а)л(ё|е)н(ы|а)
Код
if(gg('R1ch.status') == 1)
{sayReply("А розетка включена",1);
} else {
if(gg('R1ch.status') == 0)
{sg('R1ch.status',1);
sayReply("Включила розетку Алёны.",1);
}
}
|
розетку (А|а)лис(ы|ии|а)
Код
if(gg('R0ch.status') == 1)
{sayReply("А розетка и так включена",1);
} else {
if(gg('R0ch.status') == 0)
{sg('R0ch.status',1);
sayReply("Включила розетку Алисии.",1);
}
}
|
розетку в прихожей
Код
if(gg('R1H.status') == 1)
{say("А розетка уже под напряжением",1);
} else {
if(gg('R1H.status') == 0)
{sg('R1H.status',1);
say("Включила розетку в прихожей.",1);
}
}
|
свет в ванной
Код
if(gg('L1b.status')=="1")
{say("А освещение ванны уже включено",1);}
else
{if(gg('L1b.status')=="0")
{sg("L1b.status","1");
callMethod('Bathroom.onActivity');
say("Включила главное освещение ванной комнаты",1);}}
|
свет в детской
Код
if (gg('L0ch.status') == 1 && gg('L1ch.status') == 0) {
say("А свет уже горит в детской . Клавиша со стола",1);
} else
if (gg('L0ch.status') == 0 && gg('L1ch.status') == 1) {
say("Да горит уже свет . Клавиша от двери",1);
} else
if (gg('L0ch.status') == 1 && gg('L1ch.status') == 1 ) {
say("Уже горит . И обе клавиши включены!",1);
} else
if (gg('L1ch.status') == 0)
{sg('L1ch.status',1);
say("Включила освещение в детской комнате . Клавиша от двери",1);
}
|
свет в зале
Код
if(gg('L3H.status') == 1)
{say("Свет в зале уже включен",1);
} else {
if(gg('L3H.status') == 0)
{sg('L3H.status',1);
callMethod('Livingroom.onActivity');
say("Включила главное освещение в зале.",1);
}
}
|
свет в подъезде
Код
if(gg('L1out.status') == 1)
{sayReply("А свет в подъезде уже горит",1);
} else {
if(gg('L1out.status') == 0)
{sg('L1out.status',1);
sayReply("Включила освещение подъезда.",1);
}
}
|
свет в прихожей
Код
if (gg('L1H.status') == 1) {
say("А он и так включен",1);
} else {
if (gg('L1H.status') == 0)
{sg('L1H.status',1);
say("Включила освещение прихожей.",1);
}
}
|
свет в туалете
Код
if(gg('L2b.status') == 1)
{say("Свет в туалете уже горит",1);
} else {
if(gg('L2b.status') == 0)
{sg('L2b.status',1);
say("Включила свет в туалете",1);
SetTimeOut("Toilet_activity_timeout");
}
}
|
свет на кухне
Код
if(gg('L1k.status') == 1) {
say("А свет уже горит на кухне",2);
} else {
if(gg('L1k.status') == 0) {
sg('L1k.status',1);
say("Включила свет на кухне",2);
}
}
|
свет над машинк(а|ой)
Код
if(gg('V2b.status')=="1")
{say("А освещение второго зеркала уже включено",1);}
else
{if(gg('V2b.status')=="0")
{sg("V2b.status","1");
say("Включила свет второго зеркала",1);}}
|
телевизор в зале
Код
if(gg('R2H.status') == 1)
{sayReply("А телевизор в зале уже включен",1);
} else {
if(gg('R2H.status') == 0)
{sg('R2H.status',1);
sg('R3H.status',1);
callMethod('Livingroom.onActivity');
sayReply("Включила телевизор в зале.",1);
}
}
|
телевизор на кухне
Код
if (gg('R1k.status') == 1) {
say("А телевизор уже включен на кухне.",2);
} else {
if (gg('R1k.status') == 0)
{sg('R1k.status',1);
say("Телевизор на кухне включила",2);
}
}
|
|
RETURN
|
на (.+)
Код
cm('RadioSetting.Control',array('sta'=>$matches[1]));
|
|
Будильник детский
Шаблон: (поставь|установи|заведи) детский будильник на (\d+)(\s*)(часов|:)*(\s*)(\d*)
Код
$h=$matches[2];
$m=$matches[6];
if ($h>24) {
sayReply("Непонятно на который час завести, определись и сообщи снова.",2);
return;
}
if (($m>59)|(!$m)) {
sayReply("Я не совсем поняла на сколько именно минут , поэтому пусть будет ровно 00.",2);
$m="00";
}
sayReply("Ставлю детский будильник на ".$h." часов ".$m." минут. Девочки , постарайтесь не проспать.",2);
setGlobal('Child.AlarmOn',1);
setGlobal('Child.AlarmTime',$h.':'.$m);
|
Будильник рабочий
Шаблон: (поставь|установи|заведи) рабочий будильник на (\d+)(\s*)(часов|:)*(\s*)(\d*)
Код
$h=$matches[2];
$m=$matches[6];
if ($h>24) {
sayReply("Непонятно на который час завести,определись и сообщи снова.",2);
return;
}
if (($m>59)|(!$m)) {
sayReply("Я не совсем догнала на сколько именно минут,пусть будет 00.",3);
$m="00";
}
sayReply("Завожу рабочий будильник на ".$h." часов ".$m." минут. Постарайся не проспать.",2);
setGlobal('Work.AlarmOn',1);
setGlobal('Work.AlarmTime',$h.':'.$m);
|
вики
Шаблон: (Ш|ш|Ч|ч|К|к|Х|х)то тако(е|й) (.+)
Код
//устанавливаем кодировки
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)) { //если ничего не нашлось
sayReply ("Я не знаю такого слова",2);
} 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; //ставим запятую и дописываем третий вариант
}
}
sayReply($say,2);
}
}
|
Пауза
|
Привет
Код
say(getRandomLine('privet'),3);
//sleep(1);
say(getRandomLine('help'),3);
//sleep(1);
//sayReply("Дома температура в комнате родителей - ".getGlobal('TDHT22ch.temp')." °C . Влажность - ".getGlobal('HDHT22ch.humidity')." % . В детской - ".getGlobal('TDHT22L.temp')." °C , а влажность - ".getGlobal('HDHT22L.humidity')." % . На кухне - ".getGlobal('TDHT22K.temp')." °C . В подъезде - ".getGlobal('T1Wcome.temp')." °C , а за окном - ".getGlobal('road.temp')." °C .",3);
|
скажи погоду
Код
$status="";
$status.="Сегодня ".gg("ow_fact.weather_type").".";
say($status,2);
$status="";
$w=round(gg("ow_fact.temperature"));
$tempw=$w;
if($tempw >= 11 and $tempw <= 14){
$tempcels=" градусов ";
}
else{
while ($tempw > 9){
$tempw=$tempw-10;
}
if($tempw == 0 or $tempw >= 5 and $tempw <= 9){
$tempcels= градусов ; }
if($tempw == 1){
$tempcels= градус ; }
if($tempw >= 2 and $tempw <= 4){
$tempcels= градуса ; }
}
$tNew = abs((float)getGlobal('ow_fact.temperature'));
$status.=' Температура '.getGlobal('ow_fact.temperature')." ".$tempcels." цельсия";
say($status,2);
$tempw="";
$tempcels="";
$status="";
$h=round(gg("ow_fact.humidity"));
$tempw=$h;
if($tempw >= 11 and $tempw <= 14){
$tempcels=" процентов ";
}
else{
while ($tempw > 9){
$tempw=$tempw-10;
}
if($tempw == 0 or $tempw >= 5 and $tempw <= 9){
$tempcels= процентов ; }
if($tempw == 1){
$tempcels= процент ; }
if($tempw >= 2 and $tempw <= 4){
$tempcels= процента ; }
}
$status.="Относительная влажность ".gg("ow_fact.humidity")." ".$tempcels. ".";
say($status,2);
$tempw="";
$tempcels="";
$status="";
$pressure=(float)gg("ow_fact.pressure_mmhg");
if ($pressure<728) {
$status.=' Атмосферное давление пониженное';
} elseif ($pressure>768) {
$status.=' Атмосферное давление повышенное.';
} else {
$status.=' Атмосферное давление нормальное.';
}
say($status,2);
$status="";
//ветер
$WindSpeed=(float)gg("ow_fact.wind_speed");
if ($WindSpeed<1) {
$status.=' Ветра нет.';
} elseif ($WindSpeed<3) {
$status.=' Ветер слабый.';
} elseif ($WindSpeed<6) {
$status.=' Ветер сильный.';
} elseif ($WindSpeed<9) {
$status.=' Ветер очень сильный.';
} else {
$status.=' Ветер очень! Очень сильный.';
}
say($status,2);
|
Следующая песня
Шаблон: (Д|д)альше|следующий|следующая
|