(start|play) music
Код
runScript('playFavoriteMusic');
|
report system state
|
Время
Шаблон: (сколько врем|который час|скажи время)
Код
say('Время сейчас '.timeNow(),5);
|
выключить всё
|
давай приготовим (.+)
Шаблон: давай приготовим (.+)
Код
require_once 'C:\_majordomo\htdocs\lib\simple_html_dom.php';
$queryString = $matches[1];
//$queryString='пиво';
$findParams = array(
'aerogrill' => '22', // Рецепты для аэрогриля
'waffle' => '27', // Для вафельницы
'yoghurt' => '28', // Для йогуртиницы
'multivarka' => '25', //Рецепты для мультиварки
'steamer' => '15', //Для пароварки
'pressureCooker' => '46', //Для скороварки
'breadMaker' => '23', //Для хлебопечки
'fondue' => '24' //Рецепты фондю
);
$findParams = array();
$recipeNumber = rand(0, 5);
$recipesList = findRecipes($queryString, $findParams);
if (!empty($recipesList)) {
$recipe = getRecipes($recipesList[$recipeNumber]['link']);
echo $recipesList[$recipeNumber]['text']."";
$recipe['link'] = $recipesList[$recipeNumber]['link'];
$recipe['name'] = $recipesList[$recipeNumber]['text'];
sayRecipe($recipe);
} else {
say('Ничего не найдено.');
}
function OpenRecipeURL($link) {
$rec=array();
$rec['EVENT_TYPE']='openurl'; // команда может быть ещё newwindow
$rec['WINDOW']='alice';
$rec['TERMINAL_TO']='*'; //здесь можно конкретный терминал указать
$rec['ADDED']=date('Y-m-d H:i:s');
$rec['EXPIRE']=date('Y-m-d H:i:s', time()+10);
$rec['DETAILS']=$link;
$rec['ID']=SQLInsert('events', $rec);
}
function sayRecipe($recipe) {
OpenRecipeURL($recipe['link']);
say($recipe['name']);
if (!empty($recipe['description'])) {
foreach ($recipe['description'] as $e) {
say($e);
}
}
$ingrstr = 'Нам понадобится: ';
foreach ($recipe['ingredients'] as $e) {
$ingrstr .= $e . ', ';
}
say($ingrstr);
say('Способ приготовления:');
foreach ($recipe['preparing'] as $e) {
say($e);
}
}
function getRecipes($recipeLink) {
if (empty($recipeLink)) {
return FALSE;
}
$ingredients = array();
$html = @file_get_html($recipeLink);
//kolvo definition-list-table__td definition-list-table__td_value
$ingredientsdom=($html->find(".definition-list-table__tr span span"));
$ingskolvodom=($html->find(".definition-list-table__td_value"));
//$ingredientsdom=($html->find("a"));
$count=count($ingredientsdom);
echo "Count=".$coun."";
for ($i = 1; $i <= $count; $i++)
{
echo "Count member:".$i."";
$ingr= $ingredientsdom[$i]->outertext;
$ingrkolvo=$ingskolvodom[$i]->outertext;
$ingredients[]=strip_tags($ingr." ".$ingrkolvo);
var_dump($ingr);
var_dump($ingrkolvo);
}
$description = array();
$descriptiondom=($html->find(".content-box__content .plain-text p"));
foreach($descriptiondom as $descdom)
{$description[] = strip_tags($descdom->outertext);}
$preparing=array();
$preparingdom=$html->find(".js-mediator-article .plain-text");
$i=0;
foreach($preparingdom as $prepdom)
{if($i>0) {$preparing[]=strip_tags($prepdom->outertext);}
$i++;
}
echo "Prepairing..";
var_dump($preparing);
$recipe = array(
'description' => $description,
'ingredients' => $ingredients,
'preparing' => $preparing
);
return $recipe;
}
function findRecipes($queryString, $params) {
if (empty($queryString)) {
return FALSE;
}
$addurl="http://www.edimdoma.ru";
$url = 'http://www.edimdoma.ru/search?utf8=%E2%9C%93&asset=recipes&index=title_search&query=' . urlencode($queryString) . '&search%5Bmain_category_id%5D=&search%5Bcuisine_id%5D=';
if (!empty($params)) {
foreach ($params as &$value)
{
$url .= '&cooking_method_ids%5B%5D=' . $value;
}
}
$url .= '&user_name=';
$html = file_get_html($url);
//$articles=$html->find('main.card__content') ;
$articles=$html->find('div.card__description') ;
$links = array();
foreach ($articles as $container) {
$linkss=array();
$intext=$container->innertext;
$sub=' ';
$text=strip_tags(substr($intext,0,strpos($intext,$sub)));
preg_match_all('/href="([^"]+)"/', $intext, $linkss);
$href= str_replace('"','',$addurl .str_replace('href=','',$linkss[0][0]));
$links[] = array(
'link' => $href,
'text' => $text
);
}//foreach ($articles as $container)
unset($articles);
return $links;
}
|
кто ты
Шаблон: (кто ты|ты кто|как тебя зовут)
Код
say(getRandomLine('whoareyou'),5);
|
Погода вся
|
пока
Шаблон: (^пока|^до свидания|^прощай|^иди нафиг)
Код
say(getRandomLine('good_bye')." Скажите, если буду нужна.",5);
|
Привет|Здравствуй
Код
if(timeBetween("05:00", "11:00")){
say("Доброе утро!",1);
}elseif(timeBetween("11:00", "17:00")){
say("Добрый день!",1);
}elseif(timeBetween("17:00", "23:00")){
say("Добрый вечер!",1);
}elseif(timeBetween("23:00", "05:00")){
say("Доброй ночи!",1);
}else{ // Новое, неизвестное время суток.
say('Привет!',1);
}
|
сколько будет (.*)
Шаблон: сколько будет (.*)
Код
$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);
$com='$result=' . $com .';';
eval($com);
$result = round($result,2);
say($command . ' равно ' . $result,2);
|