Google Assistant Library

pakietu google.assistant.library.

klasa google.assistant.library.Assistant(dane logowania, identyfikator_modelu urządzenia)

Klient Biblioteki Asystenta Google.

Podstawowe funkcje sterowania i obsługi cyklu życia Asystenta Google. Sprawdzoną metodą jest używanie Asystenta jako ContextManager:

with Assistant(credentials, device_model_id) as assistant:

Dzięki temu podstawowa implementacja pamięci prawidłowo obsługuje zarządzanie pamięcią.

Po wywołaniu start() Asystent generuje strumień zdarzeń przekazujący informacje na temat różnych stanów, w których obecnie korzysta. Na przykład:

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}

Na stronie EventType znajdziesz szczegółowe informacje o wszystkich zdarzeniach i ich argumentach.

Słownik:

  • Słowo-klucz: wyrażenie, którego Asystent słucha, jeśli nie jest wyciszony:

    "OK Google" OR "Hey Google"
    
  • Turn: pojedyncze żądanie użytkownika, a następnie odpowiedź Asystenta.

  • Rozmowa: co najmniej 1 zakręt, który skutkuje określonym wynikiem Asystenta:

    "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!"
    
Parametry:
  • credentials (google.oauth2.credentials.credentials) – dane logowania Google OAuth2 użytkownika.
  • device_model_id (str) – identyfikator urządzenia (device_model_id) zarejestrowany w projekcie w Google. Nie może to być pusty ciąg znaków.
Promuje:

ValueError – jeśli pole device_model_id zostało puste lub nie zawiera żadnej wartości;

device_idO

Zwraca identyfikator urządzenia wygenerowany przez Asystenta.

Ta wartość identyfikuje Twoje urządzenie na serwerze podczas korzystania z usług, takich jak Google Device Actions. Ta właściwość jest wypełniana dopiero po wywołaniu start().

Zwroty:Po wywołaniu identyfikatora urządzenia start() wystąpił pusty ciąg znaków.
Typ zwrotu:tekst
send_text_query(zapytanie)

Wysyła do Asystenta polecenie |query| tak, jakby użytkownik je wymówił.

Będzie to działać podobnie do wypowiadania słowa-klucza przez wysłanie zapytania LUB odpowiadania na kolejne pytanie.

Parametry:query (str) – zapytanie tekstowe, które chcesz wysłać do Asystenta.
set_mic_mute(jest_ignorowane)

Wyłącza słuchanie słowa-klucza przez Asystenta.

Pozwala wyłączyć Asystentowi słuchanie słowa-klucza. Ta funkcja działa podobnie do przycisku prywatności na odwrocie Google Home.

Jeśli Asystent nie został jeszcze uruchomiony, ta funkcja nie jest aktywna.

Parametry:is_muted (bool) – prawda zatrzymuje słuchanie przez Asystenta, a wartość Fałsz pozwala na ponowne rozpoczęcie odtwarzania.
start()

Uruchamia Asystenta, który obejmuje słuchanie słowa-klucza.

Po wywołaniu start() Asystent zacznie przetwarzać dane z domyślnego źródła dźwięku ALSA, nasłuchując słowa-klucza. Uruchomi to też inne usługi Asystenta, takie jak minutniki/alarmy. Tę metodę można wywołać tylko raz. Po wywołaniu Asystent będzie działać, dopóki nie wywoła się __exit__.

Zwroty:Kolejka zdarzeń powiadamiających o zmianach w stanie Asystenta.
Typ zwrotu:google.assistant.event.IterableEventQueue
start_conversation()

Ręcznie rozpoczyna nową rozmowę z Asystentem.

Rozpoczyna nagrywanie zarówno wypowiedzi użytkownika, jak i wysyłania jej do Google. Przypomina to sytuacja, gdy Asystent usłyszy słowo-klucz.

Ta funkcja nie działa, jeśli Asystent nie został uruchomiony lub został wyciszony.

stop_conversation()

Zatrzymuje aktywną rozmowę z Asystentem.

Asystent może nasłuchiwać zapytania użytkownika LUB odpowiadać. Nie ma tu aktywnej rozmowy.

class google.assistant.library.event.AlertEvent(event_type, args, **_)

Rozszerza zdarzenie, dodając do niego parametr „alert_type”.

zajęcia google.assistant.library.event.AlertType

Typy alertów.

Używany ze zdarzeniami ON_ALERT_STARTED i ON_ALERT_FINISHED.

ALARM = 0Tak

Zdarzenie ustawione na czas bezwzględny, np. „3:00 w poniedziałek”

TIMER = 1

Zdarzenie ustawione na względną godzinę, np. „30 sekund od teraz”

class google.assistant.library.event.DeviceActionEvent(event_type, args, **kwargs)

Rozszerza zdarzenie, dodając do niego właściwość „actions”.

actionsO

Generator poleceń do wykonania na bieżącym urządzeniu.

class google.assistant.library.event.Event(event_type, args, **_)

Zdarzenie wygenerowane przez Asystenta.

typeO

EventType – typ wygenerowanego zdarzenia.

argsO

dict – pary klucz/wartość argumentu powiązane z tym zdarzeniem.

statyczny New(typ_zdarzenia, argumenty, **kwargs)Trzymaj się

W razie potrzeby utwórz nowe wydarzenie, korzystając ze specjalistycznej klasy Event.

Parametry:
  • event_type (int) – identyfikator numeryczny odpowiadający zdarzeniu w google.assistant.event.EventType.
  • args (dict) – pary klucz/wartość argumentu powiązane z tym zdarzeniem,
  • kwargs (dict) – opcjonalne pary klucz/wartość argumentu odnoszące się do specjalizacji klasy EventType.
zajęcia google.assistant.library.event.EventType

Typy zdarzeń.

ON_ALERT_FINISHED = 11

Wskazuje, że alert dotyczący alertu alert_type został zakończony.

Parametry:alert_type (AlertType) – identyfikator Enum reprezentujący właśnie typ alertu.
ON_ALERT_STARTED = 10

Wskazuje, że alert został zainicjowany.

Ten alert będzie się pojawiać, dopóki nie otrzymamy: ON_ALERT_FINISHED z tym samym alert_type. W danym momencie może być aktywny tylko 1 alert.

Parametry:alert_type (AlertType) – identyfikator Enum reprezentujący obecnie typ alertu.
ON_ASSISTANT_ERROR = 12

Wskazuje, czy w bibliotece Asystenta wystąpił błąd.

Parametry:is_fatal (bool) – jeśli ustawisz wartość Prawda, Asystent nie będzie w stanie odzyskać konta i trzeba będzie uruchomić go ponownie.
ON_CONVERSATION_TURN_FINISHED = 9D

Asystent zakończył bieżący zakręt.

Obejmuje to przetwarzanie zapytania użytkownika i wypowiadanie pełnej odpowiedzi, jeśli występuje.

Parametry:with_follow_on_turn (bool) – jeśli true, Asystent oczekuje dalszej interakcji użytkownika. Mikrofon zostanie ponownie otwarty, aby umożliwić użytkownikowi udzielenie odpowiedzi na dodatkowe pytanie.
ON_CONVERSATION_TURN_STARTED = 1

Oznacza rozpoczęcie nowego skrętu.

Asystent nasłuchuje, czekając na zapytanie użytkownika. Może to być spowodowane usłyszeniem słowa-klucza lub słowa start_conversation() wywoływanego przez Asystenta.

ON_CONVERSATION_TURN_TIMEOUT = 2Działania

Przekroczono limit czasu oczekiwania na rozpoznawalne zapytanie.

Może to być spowodowane nieprawidłowym aktywowaniem słowa-klucza lub Asystenta, które nie rozumie.

ON_DEVICE_ACTION = 14

Wskazuje, że do urządzenia zostało wysłane żądanie Akcja urządzenia.

Wysyłane jest po wywołaniu gramatyki urządzenia w przypadku cech obsługiwanych przez urządzenie. Ten typ zdarzenia zawiera specjalną właściwość „actions”, która zwraca iterator lub polecenie Action Action wraz z parametrami (jeśli są używane).

Parametry:dict – zdekodowane ładunek JSON żądania działania na urządzeniu.
ON_END_OF_UTTERANCE = 3

Asystent przestał nasłuchiwać zapytania użytkownika.

Asystent mógł nie zrozumieć, co powiedział użytkownik, ale przestał słuchać więcej danych dźwiękowych.

ON_MEDIA_STATE_ERROR = 20

Wskazuje, że podczas odtwarzania utworu wystąpił błąd.

Wbudowany odtwarzacz multimediów spróbuje przejść do następnego utworu lub wrócić do ON_MEDIA_STATE_IDLE, jeśli nie ma nic do odtworzenia.

ON_MEDIA_STATE_IDLE = 16

Oznacza, że nic nie jest odtwarzane i nie ma kolejki w kolejce.

Zdarzenie jest transmitowane z wbudowanego odtwarzacza multimediów biblioteki Asystenta Google w przypadku wiadomości i podcastu podczas uruchamiania oraz za każdym razem, gdy odtwarzacz jest nieaktywny, ponieważ użytkownik wstrzymał odtwarzanie multimediów lub je wstrzymał, przez co upłynął limit czasu transmisji.

ON_MEDIA_TRACK_LOAD = 17

Wskazuje, że utwór jest ładowany, ale odtwarzanie jeszcze się nie rozpoczęło.

Ten kod może być wysyłany wiele razy, jeśli nowe metadane będą asynchronicznie wczytywane. Po tym zdarzeniu następuje zwykle zdarzenie ON_MEDIA_TRACK_PLAY

Parametry:
  • metadata (dykt) –

    Metadane wczytanej ścieżki. Tym razem nie wszystkie pola zostaną wypełnione. Jeśli pole jest nieznane, nie zostanie uwzględnione. Do pól metadanych należą:

    album(str): nazwa albumu, do którego należy utwór. album_art(str): adres URL okładki albumu. artist(str): wykonawca, który utworzył dany utwór. duration_ms(double): długość utworu w milisekundach. title(str): tytuł utworu.
  • track_type (MediaTrackType) – typ wczytanej ścieżki.
ON_MEDIA_TRACK_PLAY = 18

Wskazuje, że utwór obecnie odtwarza dźwięk.

Aktywuje się to tylko wtedy, gdy przechodzimy z jednego stanu na drugi, np. z ON_MEDIA_TRACK_LOAD lub ON_MEDIA_TRACK_STOP

Parametry:
  • metadata (dykt) –

    Metadane utworu. Jeśli pole jest nieznane, nie zostanie uwzględnione. Do pól metadanych należą:

    album(str): nazwa albumu, do którego należy utwór. album_art(str): adres URL okładki albumu. artist(str): wykonawca, który utworzył dany utwór. duration_ms(double): długość utworu w milisekundach. title(str): tytuł utworu.
  • position_ms (podwójny) – bieżąca pozycja w odtwarzaniu w milisekundach od początku. Jeśli wartość „metadata.duration_ms” jest nieznana (ustawiona na 0), to pole nie zostanie ustawione.
  • track_type (MediaTrackType) – typ odtwarzanego utworu.
ON_MEDIA_TRACK_STOP = 19

Wskazuje, że wcześniej odtwarzany utwór jest zatrzymany.

Zwykle jest to spowodowane wstrzymywaniem przez użytkownika. Ścieżka może wrócić do ON_MEDIA_TRACK_PLAY, jeśli została wznowiona przez użytkownika.

Parametry:
  • metadata (dykt) –

    Metadane zatrzymanego utworu. Jeśli pole jest nieznane, nie zostanie uwzględnione. Do pól metadanych należą:

    album(str): nazwa albumu, do którego należy utwór. album_art(str): adres URL okładki albumu. artist(str): wykonawca, który utworzył dany utwór. duration_ms(double): długość utworu w milisekundach. title(str): tytuł utworu.
  • position_ms (podwójny) – bieżąca pozycja na ścieżce zatrzymanej w milisekundach od początku. Jeśli wartość „metadata.duration_ms” jest nieznana (ustawiona na 0), to pole nie zostanie ustawione.
  • track_type (MediaTrackType) – typ ścieżki zatrzymanej.
ON_MUTED_CHANGED = 13

Wskazuje, że Asystent obecnie słucha.

start() zawsze generuje wartość ON_MUTED_CHANGED do raportowania wartości początkowej.

Parametry:is_muted (bool) – jeśli ma wartość Prawda, Asystent nie nasłuchuje słowa-klucza i nie reaguje na zapytania użytkownika.
ON_NO_RESPONSE = 8D

Asystent zakończył swój ruch, ale nie ma nic do powiedzenia.

ON_RECOGNIZING_SPEECH_FINISHED = 5Tak

Asystent ustalił, że to ostatnia mowa.

Parametry:text (str) – ostateczna interpretacja zapytania użytkownika.
ON_RENDER_RESPONSE = 15

Wskazuje, że Asystent ma dane wyjściowe do wygenerowania odpowiedzi.

Parametry:
  • type (RenderResponseType) – typ odpowiedzi do renderowania.
  • text (str) – ciąg do renderowania dla tekstu RenderResponseType.TEXT.
ON_RESPONDING_FINISHED = 7D

Asystent zakończył komendy głosowe.

ON_RESPONDING_STARTED = 6

Asystent zaczyna odpowiadać głosowo.

Asystent będzie odpowiadać, dopóki nie otrzyma: ON_RESPONDING_FINISHED.

Parametry:is_error_response (bool) – True oznacza, że odtwarzany jest błąd lokalny, a Asystent odpowiada odpowiedzią serwera.
ON_START_FINISHED = 0Tak

Biblioteka Asystenta się rozpoczęła.

klasa google.assistant.library.event.IterableEventQueue(timeout=3600)

Rozszerza kolejkę.Dodaj do interfejsu interfejs __iter__.

offer(zdarzenie)

Zaoferuj wydarzenie, które chcesz umieścić w kolejce.

Jeśli kolejka jest pełna, zdarzenie zostanie zarejestrowane, ale nie zostanie dodane.

Parametry:event (Zdarzenie) – zdarzenie, które należy dodać do kolejki.
class google.assistant.library.event.MediaStateChangeEvent(event_type, args, **_)

Rozszerza zdarzenie o analizę stanu.

zajęcia google.assistant.library.event.MediaTrackType

Typy śledzenia zdarzeń ON_MEDIA_TRACK_X.

Używany z: ON_MEDIA_TRACK_LOAD, ON_MEDIA_TRACK_PLAY, i ON_MEDIA_TRACK_STOP

CONTENT = 2Działania

Rzeczywista zawartość elementu (wiadomości/podcast).

TTS = 1

Wprowadzenie do ścieżki dźwiękowej lub ścieżka pełnoekranowa związana z produktem.

class google.assistant.library.event.RenderResponseEvent(event_type, args, **_)

Rozszerza zdarzenie, dodając do niego parametr „response_type”.

zajęcia google.assistant.library.event.RenderResponseType

Rodzaje treści do renderowania.

Używane z: ON_RENDER_RESPONSE