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

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

Модератор: immortal

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

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

Сообщение sergejey » Ср мар 12, 2014 5:10 pm

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

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

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

Сообщение sergejey » Чт апр 03, 2014 6:57 pm

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

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

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

Код текстом:

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

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

В ближайших планах сделать вынос беседы в "облако", чтобы можно было разивать дополнительные возможности общения с системой более централизовано, а не у каждого в отдельности (но последнее, само собой, останется).
За это сообщение автора sergejey поблагодарили (всего 2):
Bagir (Чт янв 08, 2015 10:46 pm) • Vairen (Сб июн 19, 2021 9:53 am)
Рейтинг: 2.33%

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

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

Сообщение Amarok » Ср апр 16, 2014 7:23 am

А можно в одной записи перечислять несколько команд?
Например активировать шаблон по разным словам\командам.
Изображение
Или можно в шаблоне прописать несколько (типа: включи, зажги)? Если можно, то как?
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

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

Сообщение sergejey » Ср апр 16, 2014 11:30 am

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

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

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

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

Сообщение Amarok » Ср апр 16, 2014 12:26 pm

ага, спасибо! :)
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
Аватара пользователя
Amarok
Сообщения: 1425
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

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

Сообщение Amarok » Ср апр 16, 2014 12:30 pm

кстати, оно регистрозависимо оказывается(((((((((
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

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

Сообщение sergejey » Ср апр 16, 2014 3:16 pm

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

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

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

Сообщение Ivan » Пт апр 25, 2014 4:14 pm

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

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

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

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

Сообщение Amarok » Вс апр 27, 2014 9:03 am

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

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

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

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

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

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

(кто ты|ты кто) 
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

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

Сообщение Ivan » Вт апр 29, 2014 9:33 pm

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