[Сценарий] Получение и чтение RSS + другие скрипты
-
- Сообщения: 207
- Зарегистрирован: Вт июл 12, 2016 6:16 pm
- Благодарил (а): 2 раза
- Поблагодарили: 14 раз
Re: чтение RSS + другие скрипты
Обновил скрипт анекдотов в блоге и выложил скрипт текст в цифры
Анекдоты теперь умеют: "расскажи 5 анекдотов" для пяти анекдотов или "расскажи анекдот" для одного
просто лень постоянно говорить расскажи анекдот или повтори для следующего анекдота
Ссылка на блог
Анекдоты теперь умеют: "расскажи 5 анекдотов" для пяти анекдотов или "расскажи анекдот" для одного
просто лень постоянно говорить расскажи анекдот или повтори для следующего анекдота
Ссылка на блог
- vitosmaxim80sad145
- Сообщения: 148
- Зарегистрирован: Сб июл 07, 2018 12:48 am
- Откуда: Днепр
- Благодарил (а): 100 раз
- Поблагодарили: 1 раз
Re: чтение RSS + другие скрипты
fandaymon писал(а): ↑Вс июн 17, 2018 11:42 pmПри помощи eval всё-таки гораздо короче реализуетсяSas писал(а): ↑Вс июн 17, 2018 11:19 pmЗапилил простой калькулятор. может использоваться как голосом так и через телегу/терминал
Писать можно как 2+2 так и 2 + 2 и хоть 2 +2.
Умеет считать 2 + 2 и проценты
например: 30% от 1000, или 1000 - 30%.
чтоб говорила голосом измените 10 в sayReply на свое значение
сам код.Код: Выделить всё
//$matches[2]='30% от 1500'; global $sum; //калькулятор function PERC($a,$b){ global $sum; $sum=($a * $b)/100; } function INCR($a,$b){ global $sum; $sum=($a * $b); } function DECR($a,$b){ global $sum; $sum=($a / $b); } function MINUS($a,$b){ global $sum; $sum=($a - $b); } function PLUS($a,$b){ global $sum; $sum=($a + $b); } //если все пришло в одну строку то разбиваем ее на массив //eсли несколько аргументов то смотрим все и создаем из них массив if(empty($matches[2])){ $dig=preg_replace('/(\d+)/', '${1} ',$matches[2]); $mas[]=preg_split( '/(\-|\+|\*|\/|\%)/', $dig); $op=preg_replace('/x/','*',$matches[2]); $op=preg_replace('/(\d+|\+|\-|\%|\*|\/)/', '${1} ',$op); $mas[]=preg_split( '/(\d+| )/', $op ); }else{ foreach($matches as $ar) { $ar=preg_replace('/[a-я]/isu','',$ar); $ar=preg_replace('/x/','*',$ar); $ar=preg_replace('/(\d+|\+|\-|\%|\*|\/)/','${1} ',$ar); $ar=split(' ',$ar); $mas[]=$ar; } } //обрабатываем массив чисел и символов и создаем из них два массива: первый с числами второй с символами foreach($mas as $or){ foreach ($or as $sym){ $sym=preg_replace('/ /','',$sym); if (strlen($sym) !="0" ){ if (is_numeric($sym)){ $digit[]=$sym; }else{ $oper[]=$sym; } } } } if(in_array('%',$oper)){ if(array_search('%',$oper) == '0'){ $a=$digit[0]; $b=$digit[1]; PERC($a,$b); $s="$a% от $b "; }else { $a=$digit[0]; $b=$digit[1]; PERC($a,$b); $digit[1]=$sum; $s="$b%"; } } if(in_array('*',$oper)){ $a=$digit[0]; $b=$digit[1]; INCR($a,$b); $s="$a умножить на $b"; } if(in_array('/',$oper)){ $a=$digit[0]; $b=$digit[1]; DECR($a,$b); $s="$a разделить на $b"; } if(in_array('+',$oper)){ $a=$digit[0]; $b=$digit[1]; PLUS($a,$b); $s="$a плюс $b"; } if(in_array('-',$oper)){ $a=$digit[0]; $b=$digit[1]; MINUS($a,$b); $s="$a минус $b"; } if ($sum){ sayReply("$s будет: $sum",10); }else{ sayReply("Я не понимаю $matches[2]",10); }
http://majordomo.smartliving.ru/forum/v ... =30#p82156
Более того - всякие дополнительные действия типа синуса или корня квадратного добавляются парой строчек
if (strpos($com,'квадратный корень из ')!== false) {
$com=str_replace('квадратный корень из','sqrt(',$com);
$com.=')';
}
пробовал и длинный калькулятор и по ссылке но не работают
создал шаблон сколько будет (.+) с кодом
08:45 Алиса: Ok, I'll remind you to 2+ 2
08:45 : 2+2
а если на компе пишеш 2 + 2 то отправляет2,2
08:56 Алиса: Ok, I'll remind you to 2 , 2
08:56 Виталий: 2 , 2
что не так
- vitosmaxim80sad145
- Сообщения: 148
- Зарегистрирован: Сб июл 07, 2018 12:48 am
- Откуда: Днепр
- Благодарил (а): 100 раз
- Поблагодарили: 1 раз
Re: [Сценарий] Получение и чтение RSS + другие скрипты
А кто знает как сделать сцену чтобы можно было прочитать новость которую озвучила Алиса если заинтересовал заголовок
- xor
- Сообщения: 2045
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 289 раз
- Поблагодарили: 632 раза
Re: [Сценарий] Получение и чтение RSS + другие скрипты
а как узнать, какой заголовок Алису заинтересовал? так то делай свойство, пиши туда интересную новость и это свойство выводиvitosmaxim80sad145 писал(а): ↑Вт окт 15, 2019 9:47 pmА кто знает как сделать сцену чтобы можно было прочитать новость которую озвучила Алиса если заинтересовал заголовок
win10 connect https://connect.smartliving.ru/profile/303
- vitosmaxim80sad145
- Сообщения: 148
- Зарегистрирован: Сб июл 07, 2018 12:48 am
- Откуда: Днепр
- Благодарил (а): 100 раз
- Поблагодарили: 1 раз
Re: [Сценарий] Получение и чтение RSS + другие скрипты
xor писал(а): ↑Вт окт 15, 2019 10:13 pmа как узнать, какой заголовок Алису заинтересовал? так то делай свойство, пиши туда интересную новость и это свойство выводиvitosmaxim80sad145 писал(а): ↑Вт окт 15, 2019 9:47 pmА кто знает как сделать сцену чтобы можно было прочитать новость которую озвучила Алиса если заинтересовал заголовок
Ну не Алису заинтересовал а меня и я спрашивал как сделать сцену чтобы когда Алиса читает заголовок на сцене писало новость ?
- xor
- Сообщения: 2045
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 289 раз
- Поблагодарили: 632 раза
Re: [Сценарий] Получение и чтение RSS + другие скрипты
https://kb.mjdm.ru/rss_channels_help/?u ... annelsHelp Читали?vitosmaxim80sad145 писал(а): ↑Вт окт 15, 2019 10:26 pm
Ну не Алису заинтересовал а меня и я спрашивал как сделать сцену чтобы когда Алиса читает заголовок на сцене писало новость ?
оттуда
$params['TITLE'] -- заголовок новости
$params['BODY'] -- тело новости
ну вот боди и выводите в свойство и на сцену
win10 connect https://connect.smartliving.ru/profile/303
-
- Сообщения: 56
- Зарегистрирован: Пт ноя 01, 2019 9:58 am
- Благодарил (а): 44 раза
- Поблагодарили: 2 раза
Re: чтение RSS + другие скрипты
Можно про анедоты более подробно. Как куда и что... Пожалуйста, хочу слушать анекдоты.Sas писал(а): ↑Вс июл 01, 2018 2:30 pmОбновил скрипт анекдотов в блоге и выложил скрипт текст в цифры
Анекдоты теперь умеют: "расскажи 5 анекдотов" для пяти анекдотов или "расскажи анекдот" для одного
просто лень постоянно говорить расскажи анекдот или повтори для следующего анекдота
Ссылка на блог
-
- Сообщения: 56
- Зарегистрирован: Пт ноя 01, 2019 9:58 am
- Благодарил (а): 44 раза
- Поблагодарили: 2 раза
Re: чтение RSS + другие скрипты
Добрый день! При runScript('anekdot'); выпадает это: Warning: Illegal string offset 'UPDATE' in C:\_majordomo\htdocs\modules\scripts\scripts.class.php(159) : eval()'d code on line 34. с чем это связано? ( У меня вин7) Если вручную нажать, запустить на скрип, то то же эта ошибка. А при runScript('anekdot',array('UPDATE'=>FALSE)); то пока нормально.xor писал(а): ↑Пт июн 15, 2018 1:19 amПри запуске
runScript('anekdot',array('UPDATE'=>TRUE));ведь только обновление идет.Код: Выделить всё
$r=read_a(); if ( empty($r)){ sayReply("Новых анекдотов нет, обновляю список",10); update_a(); read_a(); }elseif($params['UPDATE']){ update_a(); // сюда попадаем при 'UPDATE'=>TRUE }else{ sayReply("$r",10); // чтобы посмеяться надо сюда }
Попробуйте
runScript('anekdot',array('UPDATE'=>FALSE));
или просто
runScript('anekdot');