Контексты в шаблонах поведения
Модератор: immortal
- xor
- Сообщения: 2041
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 286 раз
- Поблагодарили: 629 раз
Re: Контексты в шаблонах поведения
Подтверждаю, Помощь выводится для шаблонов общего контекста.
баловался с включи/выключи свет - там у меня много пунктов.
Добавил в контексте свет шаблон помоги с кодом от Помощи, корявенько, но, вроде, то, что нужно
7236 0 не поняла, где? 11/21/2016 21:44:45
7235 0 помоги 11/21/2016 21:44:25
7234 0 везде 11/21/2016 21:44:25
7233 0 в холле 11/21/2016 21:44:25
7232 0 в новой комнате 11/21/2016 21:44:25
7231 0 в саду 11/21/2016 21:44:25
7230 0 у печки 11/21/2016 21:44:25
7229 0 у кровати 11/21/2016 21:44:25
7228 0 на крыльце 11/21/2016 21:44:25
7227 0 на улице 11/21/2016 21:44:25
7226 0 здесь Доступны команды 11/21/2016 21:44:25
7225 0 Где? 11/21/2016 21:44:25
7224 5 помоги 11/21/2016 21:44:25
7223 0 Где? 11/21/2016 21:44:18
7222 5 свет 11/21/2016 21:44:18
7221 0 Что именно? 11/21/2016 21:44:12
7220 5 включи
баловался с включи/выключи свет - там у меня много пунктов.
Добавил в контексте свет шаблон помоги с кодом от Помощи, корявенько, но, вроде, то, что нужно
7236 0 не поняла, где? 11/21/2016 21:44:45
7235 0 помоги 11/21/2016 21:44:25
7234 0 везде 11/21/2016 21:44:25
7233 0 в холле 11/21/2016 21:44:25
7232 0 в новой комнате 11/21/2016 21:44:25
7231 0 в саду 11/21/2016 21:44:25
7230 0 у печки 11/21/2016 21:44:25
7229 0 у кровати 11/21/2016 21:44:25
7228 0 на крыльце 11/21/2016 21:44:25
7227 0 на улице 11/21/2016 21:44:25
7226 0 здесь Доступны команды 11/21/2016 21:44:25
7225 0 Где? 11/21/2016 21:44:25
7224 5 помоги 11/21/2016 21:44:25
7223 0 Где? 11/21/2016 21:44:18
7222 5 свет 11/21/2016 21:44:18
7221 0 Что именно? 11/21/2016 21:44:12
7220 5 включи
win10 connect https://connect.smartliving.ru/profile/303
- m-malva
- Сообщения: 291
- Зарегистрирован: Чт фев 26, 2015 1:38 am
- Откуда: Санкт-Петербург
- Благодарил (а): 16 раз
- Поблагодарили: 66 раз
- Контактная информация:
Re: Контексты в шаблонах поведения
В каждую ветку пихать? Может есть другое решение?xor писал(а):Подтверждаю, Помощь выводится для шаблонов общего контекста.
баловался с включи/выключи свет - там у меня много пунктов.
Добавил в контексте свет шаблон помоги с кодом от Помощи, корявенько, но, вроде, то, что нужно
- xor
- Сообщения: 2041
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 286 раз
- Поблагодарили: 629 раз
Re: Контексты в шаблонах поведения
Я так понял, что нужно для каждого контекста
win10 connect https://connect.smartliving.ru/profile/303
- xor
- Сообщения: 2041
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 286 раз
- Поблагодарили: 629 раз
Re: Контексты в шаблонах поведения
Причем можно называть тоже помощь(т.е., помощь в контексте общем<> помощь в другом контексте), а код оформить скриптом. Типа функция такая - помощь, которая в контексте данном список доступных акций выводит.
Хм, удобно.
Попробую.
Хм, удобно.
Попробую.
win10 connect https://connect.smartliving.ru/profile/303
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Контексты в шаблонах поведения
попытался воспроизвести ситуацию и не получиолсь.
Дано:
"контекст" -- обычный контекст с двумя дочерними командами "команда 1", "команда 2"
"помощь" -- глобальный контекст с двумя дочерними командами "помощь1", "помощь2"
код команды "помощь1":
теперь внимательно следим за руками
я: контекст
я: помощь1
Алиса: Доступные действия:
Алиса: команда 1
Алиса: команда 2
т.е. всё как задумывалось -- отработала команда "помощь1" общего контекста и выдала список доступных команд для текущего контекста "контекст"
Дано:
"контекст" -- обычный контекст с двумя дочерними командами "команда 1", "команда 2"
"помощь" -- глобальный контекст с двумя дочерними командами "помощь1", "помощь2"
код команды "помощь1":
Код: Выделить всё
say("Доступные действия:");
$actions=$this->getAvailableActions();
$total=count($actions);
for($i=0;$i<$total;$i++) {
say($actions[$i]);
}
я: контекст
я: помощь1
Алиса: Доступные действия:
Алиса: команда 1
Алиса: команда 2
т.е. всё как задумывалось -- отработала команда "помощь1" общего контекста и выдала список доступных команд для текущего контекста "контекст"
- За это сообщение автора sergejey поблагодарили (всего 2):
- LeonidMarchuk (Вс янв 28, 2018 5:22 pm) • Samir77 (Чт окт 25, 2018 1:09 am)
- Рейтинг: 2.33%
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
- m-malva
- Сообщения: 291
- Зарегистрирован: Чт фев 26, 2015 1:38 am
- Откуда: Санкт-Петербург
- Благодарил (а): 16 раз
- Поблагодарили: 66 раз
- Контактная информация:
Re: Контексты в шаблонах поведения
да блин. но у меня не так!!! Следите за руками!
Имеем majordomo обновил сегодня
контекст:
Доступно в контексте: Для начала произнесите имя Алиса (0)
Название: найди
Тип шаблона: На основе сообщений
Приоритет: 0
0 не проверять другие шаблоны при совпадении
1 Use morphology
1 Не реагировать на системные сообщения
Шаблон:
((н|Н)айди|(П|п)оищи)
Ограничение по времени, секунд: 0
Выполнить при совпадении : Код
Использовать для программирования: PHP
1 использовать как контекст
Время ожидания команды: 30
По истечении времени выполнить: say('Вы так и не сказали мне, что хотели найти',5);
0 глобальный контекст
в картинках:
Доступно в контексте:
Название:Общий контекст
Тип шаблона:На основе сообщений
Приоритет:0
0 не проверять другие шаблоны при совпадении
0 Use morphology
1 Не реагировать на системные сообщения
Шаблон:
Ограничение по времени, секунд:0
1 использовать как контекст
1 глобальный контекст
Дочерние пункты:
сценарий
помощь
забей
и еще
в картинках:
Доступно в контексте:Общий контекст
Название:помощь
Тип шаблона:На основе сообщений
Приоритет:500
0 не проверять другие шаблоны при совпадении
0 Use morphology
1 Не реагировать на системные сообщения
Шаблон:
((п|П)омощь|(п|П)омоги|(с|С)писок команд)
Код
Использовать для программирования: PHP
0 использовать как контекст
в картинках
Итог:
02:37 Алиса: и еще
02:37 Алиса: забей
02:37 Алиса: помощь
02:37 Алиса: сценарий
02:37 Алиса: Вы просили помочь
02:37 Леонид: помощь
02:37 Алиса: Я не поняла. Что нужно НАЙТИ?
02:37 Леонид: Алиса найди
в логе
02:37:21 0.56056200 External context response: a:1:{s:15:"MATCHED_CONTEXT";i:0;}
Имеем majordomo обновил сегодня
контекст:
Доступно в контексте: Для начала произнесите имя Алиса (0)
Название: найди
Тип шаблона: На основе сообщений
Приоритет: 0
0 не проверять другие шаблоны при совпадении
1 Use morphology
1 Не реагировать на системные сообщения
Шаблон:
((н|Н)айди|(П|п)оищи)
Ограничение по времени, секунд: 0
Выполнить при совпадении : Код
Использовать для программирования: PHP
Код: Выделить всё
say('Я не поняла. Что нужно '.$bases[0].'?',5);
Время ожидания команды: 30
По истечении времени выполнить: say('Вы так и не сказали мне, что хотели найти',5);
0 глобальный контекст
в картинках:
СпойлерПоказать
Доступно в контексте:
Название:Общий контекст
Тип шаблона:На основе сообщений
Приоритет:0
0 не проверять другие шаблоны при совпадении
0 Use morphology
1 Не реагировать на системные сообщения
Шаблон:
Ограничение по времени, секунд:0
1 использовать как контекст
1 глобальный контекст
Дочерние пункты:
сценарий
помощь
забей
и еще
в картинках:
СпойлерПоказать
Доступно в контексте:Общий контекст
Название:помощь
Тип шаблона:На основе сообщений
Приоритет:500
0 не проверять другие шаблоны при совпадении
0 Use morphology
1 Не реагировать на системные сообщения
Шаблон:
((п|П)омощь|(п|П)омоги|(с|С)писок команд)
Код
Использовать для программирования: PHP
Код: Выделить всё
say ("Вы просили помочь",5);
$actions=$this->getAvailableActions();
$total=count($actions);
for($i=0;$i<$total;$i++) {
say($actions[$i],5);
}
0 использовать как контекст
в картинках
СпойлерПоказать
Итог:
02:37 Алиса: и еще
02:37 Алиса: забей
02:37 Алиса: помощь
02:37 Алиса: сценарий
02:37 Алиса: Вы просили помочь
02:37 Леонид: помощь
02:37 Алиса: Я не поняла. Что нужно НАЙТИ?
02:37 Леонид: Алиса найди
в логе
02:37:21 0.56056200 External context response: a:1:{s:15:"MATCHED_CONTEXT";i:0;}
- m-malva
- Сообщения: 291
- Зарегистрирован: Чт фев 26, 2015 1:38 am
- Откуда: Санкт-Петербург
- Благодарил (а): 16 раз
- Поблагодарили: 66 раз
- Контактная информация:
Re: Контексты в шаблонах поведения
Кривые руки и невнимательность!!!xor писал(а):Подтверждаю, Помощь выводится для шаблонов общего контекста.
помощь
ПОЛЕ
Set context when matched:
ДОЛЖНО БЫТЬ ПУСТЫМ!!!
-
- Сообщения: 10
- Зарегистрирован: Чт фев 23, 2017 8:57 pm
- Благодарил (а): 3 раза
- Поблагодарили: 0
Re: Контексты в шаблонах поведения
Здравствуйте! У меня вопрос по шаблонам поведения - когда Алиса ищет песню, то лезет за песней на сайт, который у нас в России заблокирован. Шаблон поведения идет через Connect и даже отключив коннект, всё равно шаблоны остаются и Алиса реагирует на вопросы кто такой и что такое и др. Как отключать шаблоны из коннекта, как их редактировать, например, поиск песен? Заранее спасибо.
- slgeo
- Сообщения: 551
- Зарегистрирован: Чт фев 05, 2015 2:35 pm
- Откуда: РнД
- Благодарил (а): 139 раз
- Поблагодарили: 74 раза
Re: Контексты в шаблонах поведения
Не пойму что случилось, перестали работать все шаблоны поведения. В логе на любой вопрос выводит одинаковый результат:
Нашел в анналах у себя скрипт для сброса контекста, и все заработало:
Куда копать? Как отладить?External context response: a:1:{s:15:"MATCHED_CONTEXT";i:0;}
Нашел в анналах у себя скрипт для сброса контекста, и все заработало:
Код: Выделить всё
SQLExec("UPDATE users SET ACTIVE_CONTEXT_ID=0 WHERE 1");
Raspberry Pi2 Model B + NRF24L01 (MySensors) + 1-Wire + Esp8266 (WiFi-IoT)
CONNECT
CONNECT
-
- Сообщения: 17
- Зарегистрирован: Вс фев 26, 2017 4:29 pm
- Благодарил (а): 0
- Поблагодарили: 6 раз
Re: Контексты в шаблонах поведения
У меня тоже не получается настроить Шаблоны поведения.
Стоит последняя версия из репо.
Взял простой пример из топика.
Название "погода" - как контекст - код: sayReply('в каком городе',1) - по истечении времени код: sayReply('Нет, так нет',1)
Дочерние пункты, доступные в контексте погода:
Название "в Питере" - код: sayReply('Погода в Питере хорошая',1)
Название "в Москве" - код: sayReply('Погода в Москве хорошая',1)
Если в чате набирать текст:
1)Пишешь "погода"
2)ответ голосом "в каком городе" +в чате ничего
3)пишешь "в Москве"
4)ответ голосом "в каком городе" + ответ в чате "Погода в Москве хорошая" + вылетает ошибка в missing argument 4 for patterns:runPatternAction() called in ...context.inc.php и еще что-то там....
Если в чате написать всю фразу:
1)пишешь "погода в Москве"
2)ответ голосом "в каком городе" + ответ в чате "Погода в Москве хорошая" + вылетает ошибка в missing argument 4 for patterns:runPatternAction() called in ...context.inc.php и еще что-то там....
Если голосом(пробовал с мобильного приложения):
1)говоришь "погода"
2)ответ голосом "в каком городе" + в чате ничего
3)говоришь "в Москве"
4)ответ голосом "в каком городе" + ответ в чате "Погода в Москве хорошая"
Если голосом говоришь сразу всю фразу:
1)говоришь - "погода в Москве"
2)ответ голосом "в каком городе" + ответ в чате "Погода в Москве хорошая"
Ни в одном из вариантов после истечения времени 30 секунд Алиса ничего не говорит и не пишет.
UDP
Точный текст ошибки
Warning: Missing argument 4 for patterns::runPatternAction(), called in C:\_majordomo\htdocs\lib\context.inc.php on line 125 and defined in C:\_majordomo\htdocs\modules\patterns\patterns.class.php on line 460
UDP
Попробовал UPDATE users SET ACTIVE_CONTEXT_ID=0 WHERE 1 и немного потестировал с мобильника.
Текст ответов в чате совпадает с голосовым ответом во всех случаях.
Фраза целиком:
1)Сказал фразу целиком "погода в Москве"
2)получил правильный ответ "Погода в Москве хорошая".
Частями:
1)Сказал сначала "погода"
2)ответ "в каком городе"
3)сказал "в Москве"
4)ответ "Погода в Москве хорошая".
Если писать текстом:
Фраза целиком:
1)пишешь "погода в Москве"
2)ответ "Погода в Москве хорошая"
3)в чате вылетает ошибка Warning: Missing argument
частями:
1)пишешь "погода"
2)ответ "в каком городе"
3)пишешь "в Москве"
4)ответ "Погода в Москве хорошая"
5)в чате вылетает ошибка Warning: Missing argument
Стоит последняя версия из репо.
Взял простой пример из топика.
Название "погода" - как контекст - код: sayReply('в каком городе',1) - по истечении времени код: sayReply('Нет, так нет',1)
Дочерние пункты, доступные в контексте погода:
Название "в Питере" - код: sayReply('Погода в Питере хорошая',1)
Название "в Москве" - код: sayReply('Погода в Москве хорошая',1)
Если в чате набирать текст:
1)Пишешь "погода"
2)ответ голосом "в каком городе" +в чате ничего
3)пишешь "в Москве"
4)ответ голосом "в каком городе" + ответ в чате "Погода в Москве хорошая" + вылетает ошибка в missing argument 4 for patterns:runPatternAction() called in ...context.inc.php и еще что-то там....
Если в чате написать всю фразу:
1)пишешь "погода в Москве"
2)ответ голосом "в каком городе" + ответ в чате "Погода в Москве хорошая" + вылетает ошибка в missing argument 4 for patterns:runPatternAction() called in ...context.inc.php и еще что-то там....
Если голосом(пробовал с мобильного приложения):
1)говоришь "погода"
2)ответ голосом "в каком городе" + в чате ничего
3)говоришь "в Москве"
4)ответ голосом "в каком городе" + ответ в чате "Погода в Москве хорошая"
Если голосом говоришь сразу всю фразу:
1)говоришь - "погода в Москве"
2)ответ голосом "в каком городе" + ответ в чате "Погода в Москве хорошая"
Ни в одном из вариантов после истечения времени 30 секунд Алиса ничего не говорит и не пишет.
UDP
Точный текст ошибки
Warning: Missing argument 4 for patterns::runPatternAction(), called in C:\_majordomo\htdocs\lib\context.inc.php on line 125 and defined in C:\_majordomo\htdocs\modules\patterns\patterns.class.php on line 460
UDP
Попробовал UPDATE users SET ACTIVE_CONTEXT_ID=0 WHERE 1 и немного потестировал с мобильника.
Текст ответов в чате совпадает с голосовым ответом во всех случаях.
Фраза целиком:
1)Сказал фразу целиком "погода в Москве"
2)получил правильный ответ "Погода в Москве хорошая".
Частями:
1)Сказал сначала "погода"
2)ответ "в каком городе"
3)сказал "в Москве"
4)ответ "Погода в Москве хорошая".
Если писать текстом:
Фраза целиком:
1)пишешь "погода в Москве"
2)ответ "Погода в Москве хорошая"
3)в чате вылетает ошибка Warning: Missing argument
частями:
1)пишешь "погода"
2)ответ "в каком городе"
3)пишешь "в Москве"
4)ответ "Погода в Москве хорошая"
5)в чате вылетает ошибка Warning: Missing argument