Google Assistant Library

пакет google.assistant.library.

класс google.assistant.library. Assistant ( учетные данные , device_model_id )

Клиент для библиотеки Google Assistant.

Обеспечивает базовые функции управления и управление жизненным циклом Google Assistant. Лучше всего использовать Assistant в качестве ContextManager :

with Assistant(credentials, device_model_id) as assistant:

Это позволяет базовой реализации правильно управлять памятью.

После вызова метода start() Ассистент генерирует поток событий, отражающий различные состояния, в которых в данный момент находится Ассистент, например:

ON_CONVERSATION_TURN_STARTED
ON_END_OF_UTTERANCE
ON_RECOGNIZING_SPEECH_FINISHED:
    {'text': 'what time is it'}
ON_RESPONDING_STARTED:
    {'is_error_response': False}
ON_RESPONDING_FINISHED
ON_CONVERSATION_TURN_FINISHED:
    {'with_follow_on_turn': False}

См. EventType для получения подробной информации обо всех событиях и их аргументах.

Глоссарий:

  • Горячее слово : фраза, которую Ассистент слушает, когда звук не отключен:

    "OK Google" OR "Hey Google"
    
  • Turn : одиночный запрос пользователя, за которым следует ответ Ассистента.

  • Разговор : один или несколько ходов, которые приводят к желаемому конечному результату от Ассистента:

    "What time is it?" -> "The time is 6:24 PM" OR
    "Set a timer" -> "Okay, for how long?" ->
    "5 minutes" -> "Sure, 5 minutes, starting now!"
    
Параметры:
  • учетные данные ( google.oauth2.credentials.Credentials ) – учетные данные пользователя Google OAuth2.
  • device_model_id ( str ) – идентификатор_модели_устройства, который был зарегистрирован для вашего проекта в Google. Это не должна быть пустая строка.
Поднимает:

ValueError — если device_model_id оставлен как None или пуст.

device_id

Возвращает идентификатор устройства, сгенерированный Ассистентом.

Это значение идентифицирует ваше устройство на сервере при использовании таких служб, как Google Device Actions. Это свойство заполняется только ПОСЛЕ вызова start() .

Возврат: Идентификатор устройства после вызова start() , в противном случае — пустая строка.
Тип возврата: ул.
send_text_query ( запрос )

Отправляет |запрос| Ассистенту, как если бы это произнес пользователь.

Это будет вести себя так же, как если бы пользователь произносил горячее слово и делал запрос ИЛИ произносил ответ на последующий запрос.

Параметры: query ( str ) – текстовый запрос для отправки Помощнику.
set_mic_mute ( is_muted )

Не позволяет Ассистенту прослушивать горячее слово.

Позволяет отключить Ассистенту прослушивание горячего слова. Это обеспечивает функциональность, аналогичную кнопке конфиденциальности на задней панели Google Home.

Этот метод неактивен, если помощник еще не запущен.

Параметры: is_muted ( bool ) — True останавливает прослушивание Ассистента, а False позволяет ему запуститься снова.
start ( )

Запускает Ассистента, который включает в себя прослушивание горячего слова.

После вызова start() Ассистент начнет обработку данных из источника звука ALSA «по умолчанию», прослушивая горячее слово. Это также запустит другие службы, предоставляемые Ассистентом, такие как таймеры/будильники. Этот метод можно вызвать только один раз. После вызова Ассистент будет продолжать работать до тех пор, пока не будет вызван __exit__ .

Возврат: Очередь событий, уведомляющих об изменениях состояния Ассистента.
Тип возврата: google.assistant.event.IterableEventQueue
start_conversation ( )

Вручную начинает новый разговор с Ассистентом.

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

Этот метод неактивен, если Помощник не запущен или его звук отключен.

stop_conversation ( )

Останавливает любой активный разговор с Ассистентом.

Ассистент может слушать запрос пользователя ИЛИ отвечать. Если активного разговора нет, операция невозможна.

класс google.assistant.library.event. AlertEvent ( event_type , args , **_ )

Расширяет событие, добавляя синтаксический анализ «alert_type».

класс google.assistant.library.event. AlertType

Типы оповещений.

Используется с событиями ON_ALERT_STARTED и ON_ALERT_FINISHED .

ALARM = 0

Событие, установленное на абсолютное время, например «3 часа ночи понедельника».

TIMER = 1

Событие, установленное на относительное время, например «через 30 секунд».

класс google.assistant.library.event. DeviceActionEvent ( event_type , args , **kwargs )

Расширяет событие, добавляя свойство «действия».

actions

Генератор команд для выполнения для текущего устройства.

класс google.assistant.library.event. Event ( event_type , args , **_ )

Событие, созданное Ассистентом.

type

EventType — тип сгенерированного события.

args

dict — пары ключ/значение аргумента, связанные с этим событием.

статический New ( event_type , args , **kwargs )

При необходимости создайте новое событие, используя специализированный класс Event.

Параметры:
  • event_type ( int ) – числовой идентификатор, соответствующий событию в google.assistant.event.EventType.
  • args ( dict ) — пары ключ/значение аргумента, связанные с этим событием.
  • kwargs ( dict ) — необязательные пары ключ/значение аргумента, относящиеся к специализации класса Event для EventType.
класс google.assistant.library.event. EventType

Типы событий.

ON_ALERT_FINISHED = 11

Указывает, что оповещение alert_type завершило звучание.

Параметры: alert_type ( AlertType ) — идентификатор Enum, представляющий тип только что завершенного оповещения.
ON_ALERT_STARTED = 10

Указывает на то, что начал звучать сигнал тревоги.

Это оповещение будет продолжаться до тех пор, пока не будет получено ON_ALERT_FINISHED с тем же типом alert_type . В любой момент времени должно быть активно только одно предупреждение.

Параметры: alert_type ( AlertType ) — идентификатор Enum, представляющий текущий тип оповещения.
ON_ASSISTANT_ERROR = 12

Указывает, обнаружила ли библиотека Assistant ошибку.

Параметры: is_fatal ( bool ) — если True, помощник не сможет восстановиться и его следует перезапустить.
ON_CONVERSATION_TURN_FINISHED = 9

Ассистент завершил текущий ход.

Это включает в себя как обработку запроса пользователя, так и произнесение полного ответа, если таковой имеется.

Параметры: with_follow_on_turn ( bool ) — если True, Ассистент ожидает дальнейшего взаимодействия от пользователя. Микрофон снова откроется, чтобы пользователь мог ответить на дополнительный вопрос.
ON_CONVERSATION_TURN_STARTED = 1

Указывает на то, что начался новый ход.

В настоящее время Ассистент слушает и ожидает запроса пользователя. Это может быть результатом вызова горячего слова или start_conversation() в Ассистенте.

ON_CONVERSATION_TURN_TIMEOUT = 2

У Ассистента истекло время ожидания заметного запроса.

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

ON_DEVICE_ACTION = 14

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

Это отправляется, если какая-либо грамматика устройства срабатывает для признаков , поддерживаемых устройством. Этот тип события имеет специальное свойство «действия», которое возвращает итератор или команды действия устройства и связанные с ними параметры (если применимо).

Параметры: dict — декодированные полезные данные JSON запроса действия устройства.
ON_END_OF_UTTERANCE = 3

Ассистент перестал слушать запрос пользователя.

Возможно, Ассистент не закончил понимать, что сказал пользователь, но прекратил прослушивание дополнительных аудиоданных.

ON_MEDIA_STATE_ERROR = 20

Указывает на то, что при воспроизведении дорожки произошла ошибка.

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

ON_MEDIA_STATE_IDLE = 16

Указывает, что ничего не воспроизводится и ничего не стоит в очереди на воспроизведение.

Это событие транслируется из встроенного медиаплеера библиотеки Google Assistant для новостей или подкастов при запуске и всякий раз, когда проигрыватель бездействует из-за того, что пользователь остановил воспроизведение мультимедиа или приостановил его, а время ожидания потока истекло.

ON_MEDIA_TRACK_LOAD = 17

Указывает, что трек загружается, но воспроизведение еще не началось.

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

Параметры:
  • метаданные ( dict ) –

    Метаданные загруженного трека. К этому времени не все поля будут заполнены – если поле неизвестно, оно не будет включено. Поля метаданных включают в себя:

    album(str): Название альбома, которому принадлежит трек. album_art(str): URL-адрес обложки альбома. Artist(str): Исполнитель, создавший этот трек. длительность_мс(двойной): длина этого трека в миллисекундах. title(str): Название трека.
  • track_type ( MediaTrackType ) – тип загруженной дорожки.
ON_MEDIA_TRACK_PLAY = 18

Указывает, что дорожка в данный момент выводит звук.

Это сработает только при переходе из одного состояния в другое, например, из ON_MEDIA_TRACK_LOAD или ON_MEDIA_TRACK_STOP

Параметры:
  • метаданные ( dict ) –

    Метаданные воспроизводимого трека. Если поле неизвестно, оно не будет включено. Поля метаданных включают в себя:

    album(str): Название альбома, которому принадлежит трек. album_art(str): URL-адрес обложки альбома. Artist(str): Исполнитель, создавший этот трек. длительность_мс(двойной): длина этого трека в миллисекундах. title(str): Название трека.
  • Position_ms ( double ) — текущая позиция воспроизводимого трека в миллисекундах с начала. Если «metadata.duration_ms» неизвестно (установлено значение 0), это поле не будет установлено.
  • track_type ( MediaTrackType ) – тип воспроизводимой дорожки.
ON_MEDIA_TRACK_STOP = 19

Указывает, что воспроизведение предыдущей дорожки остановлено.

Обычно это является результатом паузы пользователя; дорожка может вернуться в ON_MEDIA_TRACK_PLAY , если она возобновлена ​​пользователем.

Параметры:
  • метаданные ( dict ) –

    Метаданные остановленного трека. Если поле неизвестно, оно не будет включено. Поля метаданных включают в себя:

    album(str): Название альбома, которому принадлежит трек. album_art(str): URL-адрес обложки альбома. Artist(str): Исполнитель, создавший этот трек. длительность_мс(двойной): длина этого трека в миллисекундах. title(str): Название трека.
  • Position_ms ( double ) — текущая позиция на остановленном треке через миллисекунды с начала. Если «metadata.duration_ms» неизвестно (установлено значение 0), это поле не будет установлено.
  • track_type ( MediaTrackType ) – тип остановленной дорожки.
ON_MUTED_CHANGED = 13

Указывает, слушает ли в данный момент Ассистент или нет.

start() всегда будет генерировать ON_MUTED_CHANGED , чтобы сообщить начальное значение.

Параметры: is_muted ( bool ) — если True, то помощник в данный момент не прослушивает свое горячее слово и не будет отвечать на запросы пользователей.
ON_NO_RESPONSE = 8

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

ON_RECOGNIZING_SPEECH_FINISHED = 5

Ассистент определил окончательную распознаваемую речь.

Параметры: text ( str ) — окончательная текстовая интерпретация запроса пользователя.
ON_RENDER_RESPONSE = 15

Указывает, что помощник имеет текстовый вывод для ответа.

Параметры:
  • тип ( RenderResponseType ) — тип ответа на рендеринг.
  • text ( str ) – строка для рендеринга для RenderResponseType.TEXT.
ON_RESPONDING_FINISHED = 7

Ассистент закончил отвечать голосом.

ON_RESPONDING_STARTED = 6

Ассистент начинает отвечать голосом.

Ассистент будет отвечать до тех пор, пока не будет получено ON_RESPONDING_FINISHED .

Параметры: is_error_response ( bool ) — значение True означает, что воспроизводится TTS с локальной ошибкой, в противном случае Помощник отвечает ответом сервера.
ON_START_FINISHED = 0

Библиотека Ассистента завершила запуск.

класс google.assistant.library.event. IterableEventQueue ( timeout=3600 )

Расширяет очередь.Queue для добавления интерфейса __iter__ .

offer ( событие )

Предложите событие поставить в очередь.

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

Параметры: event ( Event ) — событие, которое нужно попытаться добавить в очередь.
класс google.assistant.library.event. MediaStateChangeEvent ( event_type , args , **_ )

Расширяет событие, добавляя анализ «состояния».

класс google.assistant.library.event. MediaTrackType

Типы треков для событий ON_MEDIA_TRACK_X.

Используется с ON_MEDIA_TRACK_LOAD , ON_MEDIA_TRACK_PLAY и ON_MEDIA_TRACK_STOP .

CONTENT = 2

Фактический контент элемента (новости/подкаст).

TTS = 1

Вступительная часть TTS или промежуточная дорожка, связанная с элементом.

класс google.assistant.library.event. RenderResponseEvent ( event_type , args , **_ )

Расширяет событие, добавляя синтаксический анализ «типа_ответа».

класс google.assistant.library.event. RenderResponseType

Типы контента для рендеринга.

Используется с ON_RENDER_RESPONSE