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

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

Модератор: immortal

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

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

Сообщение sergejey »

Учту на будущее, что такая ситуация возможна...

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Контактная информация:

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

Сообщение sergejey »

Небольшое добавление здесь. В настройках контекста появился флаг "глобальный контектс", который подразумевает, что система всегда будет проверять совпадение с его дочерними командами, независимо от текущего контекста пользователя.

В качестве примера, можно добавить Общий контекст и отметить что он является глобальным, а так же создать дочернюю команду Помощь:
Изображение

Настройка команды Помощь:
Изображение

Код текстом:

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

$actions=$this->getAvailableActions();
$total=count($actions);
for($i=0;$i<$total;$i++) {
 say($actions[$i]);
} 
Таким образом, если пользователь скажет (напишет) "помощь", то всегда получит список доступных команд для текущего контекста беседы.

В ближайших планах сделать вынос беседы в "облако", чтобы можно было разивать дополнительные возможности общения с системой более централизовано, а не у каждого в отдельности (но последнее, само собой, останется).

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
Amarok
Сообщения: 1434
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Контактная информация:

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

Сообщение Amarok »

А можно в одной записи перечислять несколько команд?
Например активировать шаблон по разным словам\командам.
Изображение
Или можно в шаблоне прописать несколько (типа: включи, зажги)? Если можно, то как?
Моя Алиска живёт на Proxmox в Debian 12
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Контактная информация:

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

Сообщение sergejey »

BlackWarrior писал(а):А можно в одной записи перечислять несколько команд?
Например активировать шаблон по разным словам\командам.
Изображение
Или можно в шаблоне прописать несколько (типа: включи, зажги)? Если можно, то как?
про несколько команд надо проверить. по идее, система проверяет совпадение фразы по всем шаблонам, а не останавливается на первом сработавшем, так что если будет фраза "зажги свет и включи музыку", то будет совпадение по двум шаблонам типа "зажги свет" и "включи музыку".

по поводу альтернативного вида одной команды я думал, но пока не реализовал. как вариант, попробовать в шаблоне сиспользовать конструкцию регулярных выражений для этого.
Пример шаблона: "(включи|зажги) свет"

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
Amarok
Сообщения: 1434
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Контактная информация:

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

Сообщение Amarok »

ага, спасибо! :)
Моя Алиска живёт на Proxmox в Debian 12
Аватара пользователя
Amarok
Сообщения: 1434
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Контактная информация:

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

Сообщение Amarok »

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

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

Сообщение sergejey »

BlackWarrior писал(а):кстати, оно регистрозависимо оказывается(((((((((
Там стоит опция регистро-независимости, но, возможно, для русского языка оно некорректно работает, надо будет попробовать разобраться. Но вообще я использую всегда нижний регистр и программы распознавания, на сколько я знаю, всегда в нижнем регистре передают.

Сергей Джейгало, разработчик 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 »

Ivan писал(а):Может в шаблоне сделать каждую строку как альтернативный пункт
То шаблон типа:

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

Кто ты
Ты кто
Будет выбран одинаково (Чтобы не плодить пункты и код к нему)
У меня команда "включи книгу" записана в шаблонах так:

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

(запусти|открой) (книгу|книжку|сказку)
Можно попробовать записать так:

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

(кто ты|ты кто) 
Моя Алиска живёт на Proxmox в Debian 12
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm

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

Сообщение Ivan »

Вопрос. Можно ли получить параметры в обработке шаблона как в commandReceived
Напишите пример как сделать:
Повтори ...
Напомни через x минут пельмени готовы
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Ответить