Контексты в шаблонах поведения

Если вы только начинаете осваивать систему MajorDoMo и чего-то не знаете или не можете понять, то задавайте свои вопросы в этой ветке.

Модератор: immortal

Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Контактная информация:

Re: Контексты в шаблонах поведения

Сообщение sergejey »

Ivan писал(а):Вопрос. Можно ли получить параметры в обработке шаблона как в commandReceived
Напишите пример как сделать:
Повтори ...
Напомни через x минут пельмени готовы
Да, в коде обработки шаблона можно использовать массив $matches -- в него сохраняются найденные совпадения.
Например:

шаблон: Повтори (.+)
код: say($matches[1]);

шаблон: Напомни через (\d+) минут (.+)
код: setTimeOut('timer','say("'.$matches[2].'");',$matches[1]*60);

(примеры не проверял, но по идее должны работать)

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm

Re: Контексты в шаблонах поведения

Сообщение Ivan »

Спасибо. Всё работает.
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Аватара пользователя
Amarok
Сообщения: 1434
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Контактная информация:

Re: Контексты в шаблонах поведения

Сообщение Amarok »

Немного не по теме:
в Алисе есть возможность напоминалок в стиле "напомни через 10 минут проверить пельмени", НО нет подобия "напомни в среду в 10.43 сходить на собеседование" . Есть идеи реализации?
Моя Алиска живёт на Proxmox в Debian 12
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm

Re: Контексты в шаблонах поведения

Сообщение Ivan »

И сразу с добавлением в календарь :)

Ещё проблема. Гугль по разному распознаёт цифры.
То есть фраза "Напомни через 20 минут выключить гречку" распознаётся как "Напомни через двадцать минут выключить гречку"

На что Алиса отвечает "Неизвестная команда"
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Аватара пользователя
Amarok
Сообщения: 1434
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Контактная информация:

Re: Контексты в шаблонах поведения

Сообщение Amarok »

Ivan писал(а):И сразу с добавлением в календарь :)
можно)
но как?
Моя Алиска живёт на Proxmox в Debian 12
PAV
Сообщения: 970
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва

Re: Контексты в шаблонах поведения

Сообщение PAV »

Смогли разобраться, чтобы напоминалки срабатывали?

И еще - а можно вызвать шаблон?

Сейчас все голосовые реакции прописаны в методах объекта команды. Т.е. их легко вызывать, если что. А код шаблона как вызвать?
PAV
Сообщения: 970
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва

Re: Контексты в шаблонах поведения

Сообщение PAV »

up
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Контактная информация:

Re: Контексты в шаблонах поведения

Сообщение sergejey »

Код шаблона можно вызвать через имитацию команды пользователем. Например так:

Код: Выделить всё

$url='http://localhost/command.php?qry='.urlencode("Скажи привет");
getURL($url,0); 

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
LocalBrownie
Сообщения: 66
Зарегистрирован: Пт июл 11, 2014 11:08 am

Re: Контексты в шаблонах поведения

Сообщение LocalBrownie »

sergejey писал(а): Да, в коде обработки шаблона можно использовать массив $matches -- в него сохраняются найденные совпадения.
Например:

шаблон: Повтори (.+)
код: say($matches[1]);

шаблон: Напомни через (\d+) минут (.+)
код: setTimeOut('timer','say("'.$matches[2].'");',$matches[1]*60);

(примеры не проверял, но по идее должны работать)
Странно они у меня работают... Сначала говорит "Неизвестная команда...", а потом срабатывает.
Что там за неизвестная команда - я так и не понял. :)
Vit
Сообщения: 867
Зарегистрирован: Вт янв 17, 2012 12:31 pm

Re: Контексты в шаблонах поведения

Сообщение Vit »

У меня просто не известная команда и все)
Ответить