<<< Назад

Навык Алисы для отправки сообщения в МД


Bagir (2023-10-19 03:47:35):

Добавлены две сервисные команды для настройки закрытия/продолжения сессии после отправки сообщения, если навык был вызван без текста сообщения. По умолчанию навык закрывается сразу после отправки. Это можно изменить, сказав соответствующую команду. Если вызвать навык сразу с текстом сообщения, после отправки он закроется в любом случае независимо от этой настройки. Сообщение с текстами сервисных команд в Телеграм не отправляются. Навык просто запомнит эти настройки и продолжит работать. Команды нужно говорить как написаны. При удаче в ответе будет подтверждение:

Не закрывай сессию после отправки сообщения
Ответ - Хорошо ...

Закрывай сессию после отправки сообщения
Ответ - Как пожелайте ...

Теперь о том, где это может быть полезно, и как это работает

Вызов навыка с передачей сообщения:
Я - Алиса скажи умному дому включи свет
Y - Отправлено
Y - Закрытие сессии
Навык загрузился, команда ушла, реплика подтверждения, навык закрылся. Эти настройки тут никак не повлияют.

Вызов навыка без сообщения с настройкой закрытия сессии (по умолчанию):
Я - Алиса запусти навык умный дом
Y - Диктуйте сообщение
Я - Включи свет
Y - Отправлено
Y - Закрытие сессии

Вызов навыка без сообщения с настройкой не закрывать сессию:
Я - Алиса запусти навык умный дом
Y - Диктуйте сообщение
Я - Включи свет
Y - Отправлено
Я - Включи телевизор
Y - Отправлено
Я - какая температура на кухне
Y - Отправлено
Я - Хватит
Y - Закрытие сессии

Тут уж кому как удобнее и для чего. Настройку можно менять в любой момент. Привязывается к id пользователя и действует на все устройства.

(0)
 
Bagir (2023-10-19 04:14:28):

Добавлено кеширование данных и настроек пользователя. Скорость выросла на 0,4 секунды.

(0)
 
Bagir (2023-10-19 22:39:42):

Изменен режим закрытия навыка по умолчанию. Перерь навык не закрывается после успешной отправки сообщения. Изменить это так же можно сервисными командами. Старые настройки пользователей не изменились. Это относится только к вызову навыка без текста сообщения.
После успешной отправки сообщения, реплика "Отправлено" заменена на короткий звук. В приложениях с экраном так же будет звук отправки, но в чате останется текст "Сообщение отправлено".

(0)
 
Bagir (2023-10-19 22:42:40):

Ссылка для добавления навыка. Ссылки одноразовые, сгорают при первом переходе. Пишите, в телеге бываю часто.
https://dialogs.yandex.ru/share?key=mng9FPDtlCgm7T...

(0)
 
Bagir (2023-10-22 15:13:30):

Немного доработан код в команде Телеграм. Теперь, сообщение будет отправлено не только от имени нужного пользователя, но и в случае со станциями с application_id "zzzzz" и "xxxxx" в колонку SOURCE таблицы shouts прилетит имя станции. Это позволит в шаблонах поведения делать условия не только "Кто сказал?", но и "Где сказал?".
Обращаю внимане, что контекст в шаблонах поведения ведется только от пользователя. Об этом стоит помнить, чтобы разные шаблоны не пересекались.
В идеале будет возможна реализация сценария с вклюением любимого света. Допустим есть комната, в которой живут Саша и Маша. Слева и справа у кровати две тумбочки со светильниками. Дальше думаю всё понятно.

(0)
 
klejnov (2023-11-04 02:15:11):

Спасибо за навык. Немного не разобрался как это работает.

Подскажите.
Имеется колонка Яндекс мини и Majordomo, установленный локально. Плюс настроен бот Telegram (уведомления с MD приходят в Telegram).

Как сделать, чтобы в Majordomo отображались уведомления от Алисы? Спрашиваешь "Алиса, какая погода.." Колонка (Алиса) проговаривает и дополнительно текстом  в событиях MD выводится погода (как будто выполнил команду say(...).

(1)
 
Bagir (2023-11-04 18:06:36):

К сожаления, обратной связи в навыке нет. То есть, сразу отправить ответ Алисе не получится. Для этого нужно открыть порт сервера и настроить навык, чтобы он не отправлял сообщения в телегу, а обращался напрямую к серверу МД, получая ответ от него. Но можно сделать так:
Мы получаем текст, сказанный в колонку. Это всё подробно написано в начале. Обрабатываем текст каким либо способом, например шаблонами поведения МД, а затем, просто отправляем текст на озвучку в нужную яндекс станцию. При получении текста от станции мы получаем и её id, так сказать, поэтому уже знаем куда отправить ответ.

(0)
 
klejnov (2023-11-07 00:39:26):

Интересует именно запрос к колонке вида: "Алиса, какая погода.." Колонка (Алиса) проговаривает и дополнительно текстом в событиях MD выводится погода (как будто выполнил команду say(...).
Именно к Алисе, а не через вызов навыка.
Другими словами как перехватить ответы Алисы и отобразить эти ответы в MD ?

(0)
 
Bagir (2023-11-12 12:40:44):

Полагаю, подобное невозможно. Если бы так, то и навыки никакие не нужны. Сейчас мы можем либо привязывать устройства МД к УД Яндекса, или помучать сказанный текст через навык каким либо способом, и обрабатывать его в шаблонах МД. Других вариантов взаиможействия с Яндекс нет.

(0)
 

Пожалуйста, войдите в систему, чтобы добавлять комментарии Присоединиться!