алиса
Шаблон: алис|а|ка (привет|здравствуй)
Код
sayReply(getRandomLine("privet"),2);
sleep(2);
sayReply(getRandomLine("help"),2);
|
Беседа о ВКЛ ОСВЕЩЕНИЯ
Шаблон: (включить свет)|(включи свет)|(включи ночник)|(включить ночник)
Код
sayReply("А где именно включить свет?",2);
|
вкл Бра
Код
sayReply("Включаю освещение бра и розетку.",2);
Sleep(3);
sg("L3b.status","1");
sg("R1bra.status","1");
|
вкл в ванной
Код
sayReply("Включаю освещение ванной комнаты",2);
sleep(3);
sg("L1b.status","1");
|
вкл в детской
Код
sayReply("Включаю освещение в детской.",2);
sleep(3);
sg("L0ch.status","1");
sg("L1ch.status","1");
|
вкл в зале
Код
sayReply("Включаю освещение в зале.",2);
Sleep(3);
sg("L3H.status","1");
|
вкл в прихожей
Код
sayReply("Включаю освещение в прихожей",2);
Sleep(3);
sg("L1H.status","1");
SetTimeOut("LightOff",'sg("L1H.status","0");',3*60);
|
вкл в туалете
Код
sayReply("Включаю освещение в туалете",2);
sleep(3);
sg("L2b.status","1");
|
вкл зеркало
Шаблон: (зеркала)|(зеркало)
Код
sayReply("Включаю освещение зеркала над стиральной машиной.",2);
Sleep(3);
sg("V2b.status","1");
|
вкл кухня
Код
sayReply("Включаю освещение на кухне.",2);
Sleep(3);
sg("L1k.status","1");
|
вкл ночник в зале
Шаблон: включи ночник|включи ночник в зале
Код
sayReply("Включаю ночник в зале",1);
sg("L2H.status","1");
sg('L2H.statusText','Ночник ВКЛючен от шаблона');
|
вкл умывальник
Шаблон: (умывальника)|(раковины)
Код
sayReply("Включаю освещение зеркала умывальника и розетку.",2);
Sleep(3);
sg("V1b.status","1");
sg("R2b.status","1");
|
|
Беседа о ВКЛючении РОЗЕТОК
Шаблон: (включи розетку|включить розетку|включи телевизор|включить телевизор)
Код
sayReply("Где нужно включить ?",2);
|
вкл Алёны
Код
sayReply("Включаю розетку Алёны",2);
Sleep(3);
sg("R1ch.status","1");
|
вкл Алисии
Шаблон: (алисы)|(алисии)|(алиски)|(алиса)
Код
sayReply("Включаю розетку Алисии.",2);
Sleep(3);
sg("R0ch.status","1");
|
вкл розетка кухни плита
Код
sayReply("Включаю розетку варочной панели.",2);
Sleep(3);
sg("R2k.status","1");
|
вкл розетка кухни холодильника
Код
say("Включаю розетку холодильника на кухне.",2);
Sleep(3);
sg("R3k.status","1");
|
вкл розетка прихожей
Шаблон: (прихожей)|(в прихожей)
Код
sayReply("Включаю розетку в прихожей.",2);
Sleep(3);
sg("R1H.status","1");
|
вкл тел. в зале
Код
sayReply('Включаю телевизор в зале',2);
sleep(5);
sg("R2H.status","1");
sg("R3H.status","1");
|
вкл тел. на кухне
Код
sayReply('Включаю телевизор на кухне',2);
sleep(6);
sg('R1k.status','1');
|
|
Беседа о ВЫКЛючении ОСВЕЩЕНИЯ
Шаблон: (выключить свет)|(выключи свет)|(выключи ночник)|(выключить ночник)
Код
sayReply("А какой именно выключить свет ?",2);
|
выкл Бра
Код
sayReply("Выключаю освещение бра и розетку.",2);
Sleep(3);
sg("L3b.status","0");
sg("R1bra.status","0");
|
выкл в ванной
Код
if(gg('L1b.status')=="0"){
sayReply("Свет в ванной уже выключен",2);
}else{
if(gg('L1b.status')=="1"){
sg("L1b.status","0");
sayReply("Выключила свет в ванной",2);
}
}
|
выкл в детской
Код
if(gg('L0ch.status')=="0" & gg('L0ch.status')=="0"){
sayReply("А я там уже всё выключила",2);
}else{
if(gg('L0ch.status')=="1"){
sg("L0ch.status","0");
sg("L1ch.status","0");
sayReply("Выключила свет в детской",2);
}
}
/*sg("L0ch.status","0");
sg("L1ch.status","0");
sayReply("Выключила всё освещение в детской.",2);
*/
|
выкл в зале
Код
if(gg('L3H.status')=="0"){
sayReply("А он уже выключен",2);
}else{
if(gg('L3H.status')=="1"){
sg("L3H.status","0");
sayReply("Выключила свет в зале",2);
}
}
/*sayReply("Выключила освещение в зале.",2);
sg("L3H.status","0");*/
|
выкл в туалете
Код
sg("L2b.status","0");
sayReply("Выключила освещение в туалете",2);
|
выкл зеркало
Шаблон: (зеркала)|(зеркало)
Код
sayReply("Выключаю освещение зеркала над стиральной машиной.",2);
Sleep(3);
sg("V2b.status","0");
|
выкл кухня
Код
if(gg('L1k.status')=="0"){
sayReply("На кухне свет уже выключен",2);
}else{
if(gg('L1k.status')=="1"){
sg("L1k.status","0");
sayReply("Выключила свет на кухне",2);
}
}
/*sayReply("Выключила освещение на кухне.",2);
sg("L1k.status","0");*/
|
выкл ночник в зале
Шаблон: выключи ночник|выключи ночник в зале
Код
|
выкл умывальник
Шаблон: (умывальника)|(раковины)
Код
sg("V1b.status","0");
sg("R2b.status","0");
sayReply("Выключила освещение зеркала умывальника и розетку.",2);
|
|
Беседа о ВЫКЛючении РОЗЕТОК
Шаблон: (выключи розетку|выключить розетку|выключи телевизор|выключить телевизор)
Код
sayReply("Где выключаем , хозяин ?",2);
|
выкл Алёны
Код
sayReply("Выключаю розетку Алёны",2);
sleep(3);
sg("R1ch.status","0");
|
выкл Алисии
Шаблон: (алисы)|(алисии)|(алиски)|(алиса)
Код
sayReply("Выключаю розетку Алисии.",2);
sleep(3);
sg("R0ch.status","0");
|
выкл розетка кухни плита
Код
sayReply("Выключаю розетку варочной панели.",2);
sleep(3);
sg("R2k.status","0");
|
выкл розетка кухни холодильник
Код
sayReply("Выключаю розетку холодильника на кухне.",2);
sleep(3);
sg("R3k.status","0");
|
выкл розетка прихожей
Шаблон: (прихожей)|(в прихожей)
Код
sayReply("Выключаю розетку в прихожей.",2);
sleep(3);
sg("R1H.status","0");
|
выкл тел. в зале
Код
sayReply('Выключаю телевизор в зале',2);
sleep(5);
sg("R2H.status","0");
sg("R3H.status","0");
|
выкл тел. на кухне
Код
sayReply('Выключаю телевизор на кухне',2);
sleep(5);
sg("R1k.status","0");
|
|
Будильник
Шаблон: (поставь|установи|заведи) будильник на (\d+)(\s*)(часов|:)*(\s*)(\d*)
Код
$h=$matches[2];
$m=$matches[6];
if ($h>24) {
sayReply("Непонятно на который час завести будильник, определитесь и сообщите снова.",5);
return;
}
if (($m>59)|(!$m)) {
sayReply("Непонятно на сколько минут завести будильник, поэтому пусть будет ровно 00.",5);
$m="00";
}
sayReply("Ставлю будильник на ".$h." часов ".$m." минут. Постарайтесь не проспать.",5);
setGlobal('AlarmOne.AlarmOn',1);
setGlobal('AlarmOne.AlarmTime',$h.':'.$m);
|
вики
Шаблон: (Ш|ш|Ч|ч|К|к|Х|х)то тако(е|й) (.+)
Код
//устанавливаем кодировки
header("Content-type: text/html;charset=utf-8");
mb_internal_encoding("UTF-8");
$word = $request = $matches[3]; //получаем искомое слово
$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 ("Я не знаю такого слова",1);
} 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,1);
}
}
|
ВЫКЛЮЧИТЬ ВСЁ
Шаблон: (выключить|выключи) всё
Код
sayReply('Выключаю все потребители в доме',2);
sg("L0ch.status","0");
sg("L1ch.status","0");
sg("R0ch.status","0");
sg("R1ch.status","0");
sg("LED.status","0");
sleep(1);
sg("V1b.status","0");
sg("V2b.status","0");
sg("L1b.status","0");
sg("L2b.status","0");
sg("L3b.status","0");
sg("R2b.status","0");
sg("R1bra.status","0");
sleep(1);
sg("L1H.status","0");
sg("L2H.status","0");
sg("L3H.status","0");
sg("L4H.status","0");
sg("R1H.status","0");
sg("R2H.status","0");
sg("R3H.status","0");
sleep(1);
sg("L1k.status","0");
sg("R1k.status","0");
|
Закрыть плеер
Шаблон: (выключи)|(стоп)|(музыку)|(музыка)
|
Музыка
Шаблон: (включи|поставь) музыку
Код
say('Включаю вашу любимую музыку.',2);
sleep(7);
runScript('playFavoriteMusic');
|
Пауза
|
погода голосом
Код
$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);
|
Следующая песня
Шаблон: (Д|д)альше|следующий|следующая
|