Как отправить сообщение на яндекс станцию

Обновлено: 02.07.2024

Алиса — это голосовой помощник от Яндекса, который может разговаривать с пользователями и выполнять различные действия в приложениях и на устройствах, где запущена Алиса.

Алиса работает в мобильных приложениях Яндекс.Поиск для Android и iOS, в Яндекс.Навигаторе, в десктопной версии Яндекс.Браузера для Windows, а также на аудиоколонках Яндекс.Станции.

Сторонние разработчики могут создавать для Алисы дополнительные функции — навыки. Эти навыки доступны пользователям на всех платформах, на которых работает Алиса.

Как работают навыки

Для Aimylogic навык — это чат-бот, работающий по сценарию.

Чтобы использовать навык, пользователь должен активировать его одной из специальных фраз, которые вы задаете в Яндекс.Диалогах при регистрации навыка. После этого Алиса переключает пользователя в чат с навыком, и все запросы пользователя отправляются в нее.

Название активации — это фраза, которая активирует навык. По умолчанию оно совпадает с названием навыка.

Создать навык для Алисы

  1. Подумайте, как должен работать ваш навык. Чем больше вы продумываете, как будет работать навык, тем легче вам будет его создать.
  2. Создайте скрипт, по которому будет работать бот для навыка Алиса.

У Яндекса есть ряд требований к навыкам, которые следует учитывать при создании скрипта.

Добавить канал Алисы

alice 1

  1. В сценарии Алисы перейдите на вкладку Каналы.
  2. В разделе Голосовые помощники выберите Алиса. Откроются настройки канала.
  3. Нажмите Получить токен OAuth. Вы будете перенаправлены на страницу авторизации Яндекса.
  4. Войдите, используя Яндекс ID. После авторизации вы будете перенаправлены на страницу с токеном OAuth.
  5. Скопируйте токен и вставьте его в поле Токен OAuth в настройках канала в Aimylogic.
  6. Измените название канала или оставьте имя по умолчанию.
  7. Нажмите Подключить.
  8. Получить вебхук канала

    Чтобы создать свой навык в Яндекс.Диалогах, вам понадобится вебхук канала от Aimylogic. Алиса будет отправлять пользовательские запросы на этот веб-перехватчик после активации навыка.

    Чтобы скопировать веб-перехватчик в буфер обмена, нажмите Получить веб-перехватчик.

    alice 2

    Создать навык в консоли разработчика

    Чтобы ваш навык начал работать в Алисе, вам необходимо зарегистрировать его в Яндекс.Диалогах.

    1. Перейдите на страницу Яндекс.Диалоги и создайте диалог.
    2. Выберите Skill in Alice в качестве типа диалогового окна.
    3. Укажите название навыка.

    Если вы создаете общедоступный навык, убедитесь, что в официальном списке навыков нет навыка с таким же названием.

    Проверить навык

    В Яндекс.Диалогах вы можете проверить, как работает ваш навык для Алисы. Для этого перейдите на вкладку Тестирование и отправьте сообщение боту.

    Когда вы проверяете свой навык в консоли разработчика, навык активируется постоянно, поэтому вы не можете проверить, как работают имена активации.

    Чтобы проверить, как работают имена активации, проверьте свои навыки в любом из приложений Яндекса, используя тот же аккаунт Яндекса.

    Симулятор Яндекс.Станции

    Если вы создаете навык для умной колонки Яндекс.Станция, вы можете использовать наш симулятор для проверки навыка.

    С помощью симулятора вы можете проверить свои навыки с помощью голоса в браузере, чтобы убедиться, что ваши навыки хорошо работают на станциях без экранов.

    Опубликовать навык

    Пока вы не опубликуете навык, он не будет доступен пользователям Alice. Сначала настройте следующие параметры навыка:

    • указать фразы активации;
    • выберите категорию;
    • добавить описание навыка;
    • загрузить значок.

    После того как вы добавили всю необходимую информацию о навыке, отправьте его на проверку. Яндекс обычно проверяет навыки в течение трех дней.

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

    Проезд до станции метро «Парк Культуры» по кольцевой линии. От выхода поверните направо и пройдите около 250 метров по Комсомольскому проспекту.
    Поверните направо на вторую улицу, улицу Тимура Фрунзе, и следуйте по ней, пока не дойдете до здания из красного кирпича с шлагбаумом и табличкой с логотипом Яндекса (Нет д. 11, стр. 2-5). Поднимитесь по лестнице за шлагбаумом и поверните направо. Первая дверь под аркой — это вход в офис. Следующий вход для курьеров. Если вы ищете Яндекс.Деньги, пройдите еще немного по улице Льва Толстого до дома 18Б.

    С Комсомольского проспекта повернуть на улицу Льва Толстого. Наш вход находится с правой стороны перед корпусом №16 (пропуск нужно заказывать заранее). Охранник скажет вам, где припарковаться.

    Поездом по МЦК до станции «Деловой центр» или в московском метро до станции «Международная» (выход 2). Удерживая «Москва-Сити» справа, а Третье транспортное кольцо и МЦК — слева, пройти по Тестовской улице около 300 метров в сторону БЦ «ОКО II» — здания с ромбовидным фасадом. Яндекс занимает 11 этаж в БЦ «ОКО II», а также 33–38 этажи в его башне-близнеце — БЦ «ОКО». Две башни соединены подземным переходом на уровне парковки −1 (B1).

    С ТТК поверните на 1-й Красногвардейский проезд и двигайтесь в сторону въезда на платную парковку в БЦ «ОКО II» по правой стороне дороги, 1-й Красногвардейский проезд, д. 19.

    Доехать до станции метро "Смоленская" голубой линии. Выход в город только один. Перейти Садовое кольцо на другую сторону по подземному переходу перед выходом из метро и пройти в том же направлении, что и движение транспорта по Садовому кольцу, мимо гостиницы «Лотте» до пересечения с Новым Арбатом. Вход в бизнес-центр Lotte Plaza осуществляется через крытую террасу с колоннами.

    Вы также можете попасть в бизнес-центр Lotte Plaza через курьерскую стойку на Композиторской улице, которая проходит между бизнес-центром и отелем Lotte. Доехать до станции метро «Арбатская» темно-синей линии, выйти на Новый Арбат и пройти по этой улице около 20 минут, а затем повернуть налево. Вход в бизнес-центр осуществляется через крытую террасу с колоннами.

    Двигайтесь по внутренней стороне Садового кольца, затем поверните на Композиторскую улицу и въезжайте в подземный паркинг.

    Доехать до станции метро «Павелецкая» Кольцевой (коричневой) или Замоскворецкой (зеленой) линии. Если вы едете на эту станцию ​​по Замоскворецкой (зеленой) линии на поезде, идущем в северном направлении, воспользуйтесь выходом, ближайшим к началу поезда; и выберите выход, ближайший к концу поезда, если едете на юг. Выйдя на уровень улицы, идите налево по улице Зацепский Вал, входящей в состав Садового кольца. Следуйте по этой дороге через мост Малый Краснохолмский Мост. Сразу за кафе «Мечта» вы увидите кирпично-стеклянные фасады офисного комплекса «Аврора Бизнес Парк».

    Двигайтесь по внутренней стороне Садового кольца. Пересеките Большой Краснохолмский мост через Москву-реку и держитесь правой стороны. Перед мостом через Водоотводный канал повернуть направо на Садовническую набережную. Заехать на гостевую парковку через 50 метров за шлагбаумом справа. Пожалуйста, позвоните заранее, чтобы получить гостевой пропуск.

    Бизнес-центр «Амальтея», Сектор А, Большой бульвар, д. 40, Инновационный центр «Сколково», Москва, Россия 121205

    На Белорусской, Беговой, Филях, Славянском бульваре или Кунцевской доехать поездом по МЦД D1 до станции Сколково.
    Со станции Сколково зайти в большое застекленное здание БЦ «Орбион» и сесть на пешеходный мостовой переход, ведущий в бизнес-центр «Амальтея», где расположен офис Яндекса.

    Со стороны Москвы по Минскому шоссе в сторону Одинцово. После пересечения МКАД проехать еще три километра и свернуть в сторону Москвы. Продолжайте движение по Минскому шоссе/М-1. Через 300 метров поверните направо на Большой бульвар и продолжайте движение около километра. Бизнес-центр «Амальтея» будет находиться на территории Инновационного центра «Сколково» справа от вас.
    Со стороны области двигайтесь по Можайскому шоссе. После Одинцово держитесь правее и сверните на E30/M-1. Поверните направо и продолжайте движение по Большому бульвару около километра, пока не дойдете до бизнес-центра «Амальтея».

    Компонент для управления Яндекс.Станцией и другими колонками с помощью Алисы из Home Assistant.

    Новые возможности версии 2.0:

    • Поддержка всех динамиков через облачное управление (не все тестировались!)
    • Одновременное управление колонками по локальной сети и через облако.
    • Воспроизведение мультимедиа по ссылкам (подробнее)
    • Яндекс Алиса в Telegram (подробнее)

    Внимание. Термины «локальный столбец», «локальный режим» и «локальный контроль» часто используются в тексте (они имеют одно и то же значение). Внимательно изучите, какие колонки его поддерживают. Функции и возможности локального управления намного превосходят облачное управление. Локальный режим включается автоматически на поддерживаемых колонках, подробнее здесь .

    Список устройств

    < tr>< td>Irbis A
    Устройство Локальное управление Облачно
    Яндекс.Station (большой) Поддерживается Поддерживается
    Yandex.Station Max Поддерживается< /td> Поддерживается
    Яндекс.Станция Мини Поддерживается Поддерживается
    Яндекс.Модуль Поддерживается Поддерживается
    DEXP Smartbox Нет Поддерживается
    Elari SmartBeat Нет Поддерживается
    Нет Поддерживается
    LG XBOOM AI ThinQ WK7Y Нет Поддерживается
    Prestigio Smartmate Mayak Edition Нет Поддерживается
    JBL Link Music Поддерживается Поддерживается
    JBL Link Portable ? Поддерживается

    Локальное управление не поддерживается в Яндексе. Если на колонку "приедет" новая прошивка с поддержкой управления, то с большой долей вероятности "подхватит" без модификации компонента.

    Примечание. Облачное управление не имеет обратной связи с докладчиком. Неизвестно, воспроизводит ли динамик что-то или поставлен на паузу и какова его текущая громкость. Таким образом, состояние столбца в Home Assistant может отличаться от фактического состояния столбца, если вы давали ему команды извне компонента.

    Локальные и облачные возможности управления:

    • воспроизведение станций и регулировка громкости
    • отправка ТТС на станцию ​​из окна медиаплеера и через сервисы (голосом Алисы! )
    • отправка любых текстовых команд на станцию ​​из окна медиаплеера и через сервисы (например, включи мою музыку )
    • спецэффекты в TTS (библиотека звуков и наложение эффектов на голос Алисы)

    Дополнительные параметры локального управления:

    • посмотреть, что идет на станции, включая обложку (только для музыки)
    • перематывать треки назад

    Карточка Яндекс-станций

    Обложки работают только при локальном управлении


    Карта Яндекс Мини


    Управление Яндекс.Станцией Мини из Home Assistant

    Вопросы и ответы

    В. Какой компонент лучше YandexStation или Яндекс Умный дом?
    А. Это разные компоненты для разных задач. Первый позволяет управлять своими колонками с помощью Алисы из Home Assistant, отправлять на них голосовые уведомления и многое другое. Второй позволяет добавить свои умные устройства из Home Assistant в умный дом Яндекс и управлять ими с любого устройства с Алисой, включая колонки.

    Установка

    Установлен через пользовательский репозиторий HACS –

    Или скопировав папку из последней версии в папку (создать, если нужно) каталоги с конфигами.

    Настройка

    Нужны имя и пароль аккаунта Яндекса, к которому привязаны столбцы. Изучите код, если считаете его небезопасным.

    Двухфакторная аутентификация работает с одноразовым паролем из приложения Яндекс.Ключ. Главное успеть за 30 секунд :)

    Примеры использования

    Если у вас в конфиге есть другие ТТС, например от Google - прочтите это.

    Для шаблонов не забудьте указать , для остальных команд достаточно просто.

    Поддерживаются команды для нескольких станций одновременно (и TTS, и media_player).

    Внимание: Для каждой из ваших колонок в мобильном приложении Яндекса будет создан сервисный скрипт. Не трогайте его. Если случайно удалили, перезапустите Home Assistant.

    Первый способ вызова TTS

    Работает на всех динамиках

    Зависит от настройки "Режим звука" (из окна медиаплеера). Будет либо произносить текст, либо выполнять команду. Он также вызывается из окна медиаплеера.

    Из-за зависимости от "Режима звука" - не рекомендуется использовать в автоматизации. Воспользуйтесь вторым методом.

    Второй способ вызова TTS

    Работает на всех динамиках

    Не зависит от настройки режима звука.

    Внимание. Команда всегда отправляется через облако, даже на локальные динамики, потому что это единственный известный способ для станции НЕ продолжать прослушивание после TTS.

    В облачном режиме есть два ограничения:

    • Команда Алисы может содержать только кириллицу, латиницу, цифры и специальные символы: "-. =?".
    • Команда Алисы должна содержать не более 100 символов.

    Компонент автоматически удалит из текста запрещенные символы и ограничит длину текста до разрешенной.

    Третий способ запуска TTS

    Только для локального режима!

    Не зависит от настройки режима звука, но продолжает слушать после разговора! Но ограничений на количество символов нет. Поддерживает специальные эффекты.

    Статей на тему ботов Telegram много, но мало кто пишет про скиллы для Алисы, а информации как сделать одиночного бота я не нашел, поэтому решил поделиться своим опытом как сделать простой Telegram-бот и скилл Яндекс.Алисы для сайта с единым функционалом.

    Итак, я не буду рассказывать, как поднять веб-сервер и получить ssl-сертификат, об этом написано достаточно.

    Создание бота Telegram

    Сначала создайте Telegram-бота, для этого зайдите в Telegram и найдите там бота BotFather.



    Выбираем /newbot Вводим
    имя бота по которому он будет отвечать, далее вводим имя бота, взамен получаем токен для управления ботом, пишем этот ключ, пригодится нам в будущем.


    Следующий шаг — сообщить серверам Telegram, с какого сервера отправлять данные боту. Для этого сделайте ссылку вида:


    Все, Telegram-бот создан и подключен к вашему серверу.

    Создание навыка для Яндекс.Алисы

    Перейдем к созданию навыка для Яндекс.Алисы.

    Чтобы создать навык, вам нужно зайти на страницу разработчиков Яндекс.Диалогов, страницу разработчиков Яндекс.Диалогов, нажать «Создать диалог» и выбрать «Навык в Алисе».


    Откроется диалоговое окно настроек навыка.


    Начинаем входить в настройки навыка.

    Введите название вашего навыка.


    Название активации нужно подбирать очень внимательно, чтобы Алиса его правильно поняла, из нюансов — мобильное приложение с Алисой и колонками вроде Яндекс.Станции или Ирбиса А может воспринимать слова по-разному.


    Выбираем голос, которым будет говорить навык, я предпочитаю голос Алисы.


    Если вы планируете работать только на мобильных устройствах или в браузере, то выберите «Нужно устройство с экраном».


    Со всеми настройками переходим к скриптам.

    Скрипт бота Telegram

    Начнем со скрипта для Telegram.

    Подключаем библиотеку, где будут обрабатываться сообщения от бота и Алисы:


    Устанавливаем токен нашего бота:


    Получаем данные:


    Разбираем данные на переменные:


    Теперь можно работать с переменными:
    $ токены - здесь теперь все слова, которые ввел пользователь
    $ user_id - здесь id пользователя
    $ msg_chat_id - чат в котором бот получил команду
    $ msg_user_name - имя пользователя
    Далее вызываем функцию Parse_Tokens для обработки:


    И отправляем ответ:


    функция Send_Out проста и выглядит так:

    Скрипт навыков для Яндекс.Алисы

    Теперь перейдем к скрипту для Алисы, он почти такой же, как и для Telegram.

    Также подключаем библиотеку, где будут обрабатываться сообщения от бота и Алисы, плюс библиотеку с классами для Алисы:


    Получаем данные:


    Разбираем данные на переменные:


    Здесь нужных переменных чуть меньше:
    $токены - теперь все слова которые вводил пользователь
    здесь $user_id - здесь id пользователя
    Яндекс постоянно пингуется опубликованные навыки, и я добавил строку для немедленного выхода из скрипта, не запуская полную обработку сообщения:


    Вызываем для обработки функцию Parse_Tokens, она такая же, как и для Telegram:


    И отправляем ответ:


    Завершил сценарий Алисы.

    Сам скрипт обработки Parse_Tokens делал чисто для примера, там можно делать любые проверки и обработки.


    Если вам необходимо общение с пользователем более сложной формы, чем вопрос и ответ, вам потребуется сохранить в базе данных (например mysql) $user_id пользователя и уже полученные от него данные пользователя и анализировать их в функции Parse_Tokens.

    Если все работает правильно, вы можете отправить навык на модерацию, нажав кнопку "Модерация".

    Теперь у вас есть два бота для разных платформ, которые работают одинаково.

    Сервисная документация Яндекс.Диалоги здесь

    Полные сценарии доступны для скачивания на github.

    Обновление: завернул все в классы и обновил репозиторий на github

    Читайте также: