Google Assistant Library

Paket „google.assistant.library“.

Klasse google.assistant.library.Assistant(credentials, device_model_id)

Client für die Google Assistant-Bibliothek.

Bietet grundlegende Steuerfunktionen und Lebenszyklusbehandlung für Google Assistant. Es empfiehlt sich, Assistant als ContextManager zu verwenden:

with Assistant(credentials, device_model_id) as assistant:

Dadurch kann die zugrunde liegende native Implementierung die Arbeitsspeicherverwaltung ordnungsgemäß verarbeiten.

Sobald start() aufgerufen wird, generiert Assistant einen Stream von Ereignissen, die die verschiedenen Status übertragen, in denen sich Assistant derzeit befindet. Beispiel:

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}

Weitere Informationen zu allen Ereignissen und deren Argumenten finden Sie unter EventType.

Glossar:

  • Hotword: Wenn Assistant nicht stummgeschaltet ist, hört er:

    "OK Google" OR "Hey Google"
    
  • Turn: Eine einzelne Nutzeranfrage, gefolgt von einer Antwort von Assistant.

  • Conversation: Eine oder mehrere Schritte, die zu einem gewünschten Endergebnis von Assistant führen:

    "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!"
    
Parameter:
  • credentials (google.oauth2.credentials.Credentials): Die Google OAuth2-Anmeldedaten des Nutzers.
  • device_model_id (str): Die Gerätemodell-ID, die für Ihr Projekt bei Google registriert wurde. Das darf kein leerer String sein.
Ausgabe:

ValueError: Wenn device_model_id auf „Keine“ oder leer gelassen wurde.

device_idAchten

Gibt die von Assistant generierte Geräte-ID zurück.

Mit diesem Wert wird Ihr Gerät beim Verwenden von Diensten wie Google Device Actions gegenüber dem Server identifiziert. Dieses Attribut wird erst gefüllt, nachdem start() aufgerufen wurde.

Retouren:Nach dem Aufrufen der start() wird die Geräte-ID aufgerufen. Andernfalls ist der String leer.
Rückgabetyp:str
send_text_query(Suchanfrage)

Sendet |query| an Assistant, als ob er vom Nutzer gesprochen wurde.

Das funktioniert genauso wie ein Nutzer, der das Hotword ausspricht und eine Abfrage ausführt ODER die Antwort auf eine Folgeabfrage spricht.

Parameter:Suchanfrage (str): Die Textabfrage, die an Assistant gesendet werden soll.
set_mic_mute(ist_stumm)

Stoppt Google Assistant die Überwachung auf das Hotword.

Ermöglicht die Deaktivierung des Hotwords für Google Assistant. Diese bietet ähnliche Funktionen wie die Schaltfläche „Datenschutz“ auf der Rückseite von Google Home.

Diese Methode funktioniert nicht, wenn Assistant noch nicht gestartet wurde.

Parameter:is_muted (bool): Mit "True" wird Assistant nicht mehr abgehört und mit der Einstellung "False" kann sie neu gestartet werden.
start(),

Startet Assistant, einschließlich der Überwachung auf ein Hotword.

Sobald start() aufgerufen wird, beginnt Assistant mit der Verarbeitung von Daten aus der „ALSA-Standard“-Audioquelle, die auf das Hotword wartet. Dadurch werden auch andere Dienste von Assistant gestartet, z. B. Timer/Wecker. Diese Methode kann nur einmal aufgerufen werden. Nach dem Aufrufen wird Assistant weiterhin ausgeführt, bis __exit__ aufgerufen wird.

Retouren:Eine Warteschlange mit Ereignissen, die über Änderungen am Assistant-Status benachrichtigt wird.
Rückgabetyp:google.assistant.event.IterableEventQueue
start_conversation(),

Eine neue Unterhaltung mit Assistant wird manuell gestartet.

Startet die Aufzeichnung der Sprache des Nutzers und sendet sie an Google, ähnlich wie Assistant, der das Hotword hört.

Diese Methode funktioniert nicht, wenn Assistant nicht gestartet oder stummgeschaltet wurde.

stop_conversation(),

Beendet jede aktive Unterhaltung mit Assistant.

Assistant könnte die Anfrage des Nutzers OR hören. Wenn keine aktive Unterhaltung vorhanden ist, ist dies eine Null.

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

Erweitert das Ereignis-Ereignis, um das Parsen von „alert_type“ hinzuzufügen.

Klasse google.assistant.library.event.AlertType

Benachrichtigungstypen.

Wird mit den Ereignissen ON_ALERT_STARTED und ON_ALERT_FINISHED verwendet.

ALARM = 0

Ein Ereignis, das für eine absolute Zeit festgelegt ist, z. B. „3:00 Uhr am Montag“

TIMER = 1

Ein Ereignis, das für eine relative Zeit eingestellt ist, z. B. „30 Sekunden ab jetzt“

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

Erweitert das Ereignis, um die Property "actions" hinzuzufügen.

actionsAchten

Ein Generator von Befehlen, die für das aktuelle Gerät ausgeführt werden sollen.

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

Ein von Assistant generiertes Ereignis.

typeAchten

EventType: Der Typ des generierten Ereignisses

argsAchten

dict: Argument-Schlüssel/Wert-Paare, die mit diesem Ereignis verknüpft sind

statisch New(event_type, args, **kwargs)

Erstellen Sie bei Bedarf ein neues Ereignis mithilfe einer speziellen Event-Klasse.

Parameter:
  • event_type (int): Numerische ID für ein Ereignis in google.assistant.event.EventType.
  • args (dict): Argument/Wert-Paare, die mit diesem Ereignis verknüpft sind
  • kwargs (dict): Optionale Schlüssel/Wert-Paare von Argumenten, die für eine Spezialisierung der Event-Klasse für einen EventType spezifisch sind
Klasse google.assistant.library.event.EventType

Ereignistypen

ON_ALERT_FINISHED = 11

Zeigt an, dass die Benachrichtigung von alert_type beendet ist.

Parameter:alert_type (AlertType): Die ID des Enum, die den Typ der gerade abgeschlossenen Benachrichtigung darstellt.
ON_ALERT_STARTED = 10

Zeigt an, dass eine Benachrichtigung ausgelöst wurde.

Diese Benachrichtigung wird fortgesetzt, bis ON_ALERT_FINISHED mit derselben alert_type empfangen wird. Es sollte immer nur eine Benachrichtigung aktiv sein.

Parameter:alert_type (AlertType): Die ID des Enum, die den derzeit klingenden Benachrichtigungstyp darstellt.
ON_ASSISTANT_ERROR = 12

Gibt an, ob die Assistant-Bibliothek einen Fehler festgestellt hat.

Parameter:is_fatal (bool): Wenn „true“ festgelegt ist, kann Assistant nicht wiederherstellen und sollte neu gestartet werden.
ON_CONVERSATION_TURN_FINISHED = 9

Assistant hat die aktuelle Kurve beendet.

Dies beinhaltet sowohl die Verarbeitung der Abfrage eines Nutzers als auch das Sprechen der vollständigen Antwort, falls vorhanden.

Parameter:with_follow_on_turn (bool): Wenn „true“ erwartet, erwartet Assistant, dass der Nutzer eine Folgeinteraktion ausführt. Das Mikrofon wird wieder geöffnet, damit der Nutzer eine weitere Frage beantworten kann.
ON_CONVERSATION_TURN_STARTED = 1

Zeigt an, dass eine neue Abzweigung gestartet wurde.

Assistant wartet derzeit auf eine Nutzeranfrage. Das kann daran liegen, dass das Hotword gehört wurde oder start_conversation() gerade über Assistant aufgerufen wird.

ON_CONVERSATION_TURN_TIMEOUT = 2

Assistant hat das Warten auf eine erkennbare Abfrage abgebrochen.

Dies kann daran liegen, dass das Hotword falsch ausgelöst wurde oder Assistant nicht verstanden hat, was der Nutzer gesagt hat.

ON_DEVICE_ACTION = 14

Zeigt an, dass eine Anfrage für Geräteaktion an das Gerät gesendet wurde.

Diese wird ausgelöst, wenn eine Gerätegrammatik für die vom Gerät unterstützten Merkmale ausgelöst wird. Dieser Ereignistyp hat das spezielle Attribut „actions“, das einen Iterator oder Geräteaktionsbefehle und ggf. die damit verknüpften Parameter zurückgibt.

Parameter:dict: Die decodierte JSON-Nutzlast einer Device Action-Anfrage.
ON_END_OF_UTTERANCE = 3

Assistant hört nicht mehr auf eine Nutzeranfrage zu.

Assistant hat möglicherweise noch nicht alles gehört, was der Nutzer gesagt hat, aber keine weiteren Audiodaten mehr gehört.

ON_MEDIA_STATE_ERROR = 20

Gibt an, dass ein Fehler bei der Wiedergabe eines Titels aufgetreten ist.

Der integrierte Mediaplayer versucht, zum nächsten Titel zu springen oder zu ON_MEDIA_STATE_IDLE zurückzukehren, wenn kein Spiel mehr vorhanden ist.

ON_MEDIA_STATE_IDLE = 16

Gibt an, dass nichts abgespielt wird und nichts in der Warteschlange wiedergegeben wird.

Dieses Ereignis wird über den integrierten Media Assistant der Google Assistant-Bibliothek beim Start und während des Starts und immer dann übertragen, wenn der Player inaktiv ist, weil ein Nutzer die Medien angehalten oder pausiert hat und der Stream eine Zeitüberschreitung verursacht hat.

ON_MEDIA_TRACK_LOAD = 17

Zeigt an, dass ein Titel geladen wird, aber noch nicht abgespielt wurde

Dieses kann mehrmals gesendet werden, wenn neue Metadaten asynchron geladen werden. Darauf folgt normalerweise das Ereignis ON_MEDIA_TRACK_PLAY.

Parameter:
  • metadata (dict) –

    Metadaten für den geladenen Titel. Derzeit werden nicht alle Felder ausgefüllt. Wenn ein Feld unbekannt ist, wird es nicht eingefügt. Zu den Metadatenfeldern gehören:

    Album(str): Der Name des Albums, zu dem der Titel gehört. album_art(str): Eine URL für das Albumcover. Künstler(str): Der Künstler, der diesen Titel erstellt hat. duration_ms(double): Die Länge dieses Titels in Millisekunden. title(str): Der Titel des Titels.
  • track_type (MediaTrackType): Der Typ des geladenen Tracks.
ON_MEDIA_TRACK_PLAY = 18

Gibt an, dass ein Titel derzeit Audio ausgibt

Diese Methode wird nur ausgelöst, wenn wir von einem Status in einen anderen übergehen, z. B. von ON_MEDIA_TRACK_LOAD oder ON_MEDIA_TRACK_STOP.

Parameter:
  • metadata (dict) –

    Metadaten für den abgespielten Titel Wenn ein Feld unbekannt ist, wird es nicht eingeschlossen. Zu den Metadatenfeldern gehören:

    Album(str): Der Name des Albums, zu dem der Titel gehört. album_art(str): Eine URL für das Albumcover. Künstler(str): Der Künstler, der diesen Titel erstellt hat. duration_ms(double): Die Länge dieses Titels in Millisekunden. title(str): Der Titel des Titels.
  • position_ms (doppelt) – die aktuelle Position in einem abgespielten Titel in Millisekunden seit Beginn. Wenn „metadata.duration_ms“ unbekannt ist (auf 0 gesetzt), wird dieses Feld nicht festgelegt.
  • track_type (MediaTrackType): Der Typ des abgespielten Titels.
ON_MEDIA_TRACK_STOP = 19

Zeigt an, dass ein zuvor wiedergegebener Titel gestoppt wurde.

Dies ist in der Regel darauf zurückzuführen, dass der Nutzer pausiert hat. Der Track kann zu ON_MEDIA_TRACK_PLAY zurückkehren, wenn er vom Nutzer fortgesetzt wird.

Parameter:
  • metadata (dict) –

    Metadaten für den beendeten Track Wenn ein Feld unbekannt ist, wird es nicht eingeschlossen. Zu den Metadatenfeldern gehören:

    Album(str): Der Name des Albums, zu dem der Titel gehört. album_art(str): Eine URL für das Albumcover. Künstler(str): Der Künstler, der diesen Titel erstellt hat. duration_ms(double): Die Länge dieses Titels in Millisekunden. title(str): Der Titel des Titels.
  • position_ms (doppelt) – die aktuelle Position in einem angehaltenen Track in Millisekunden seit Beginn. Wenn „metadata.duration_ms“ unbekannt ist (auf 0 gesetzt), wird dieses Feld nicht festgelegt.
  • track_type (MediaTrackType): Der Typ des Tracks wurde beendet.
ON_MUTED_CHANGED = 13

Zeigt an, dass Assistant derzeit zuhört oder nicht.

start() generiert immer einen ON_MUTED_CHANGED, um den Anfangswert zu melden.

Parameter:is_muted (bool): Wenn „true“ festgelegt ist, wartet Assistant derzeit nicht auf das Hotword und reagiert daher nicht auf Nutzeranfragen.
ON_NO_RESPONSE = 8

Assistant ist am Ende dran, hat aber nichts zu sagen.

ON_RECOGNIZING_SPEECH_FINISHED = 5

Assistant hat die endgültige erkannte Sprache bestimmt.

Parameter:text (str): Die endgültige Textinterpretation der Suchanfrage.
ON_RENDER_RESPONSE = 15

Gibt an, dass Assistant Textausgabe für eine Antwort ausgibt.

Parameter:
  • type (RenderResponseType): Der zu rendernde Antworttyp.
  • text (str): Der String, der für RenderResponseType.TEXT gerendert werden soll.
ON_RESPONDING_FINISHED = 7

Assistant hat die Spracheingabe beendet.

ON_RESPONDING_STARTED = 6

Assistant antwortet jetzt per Sprachbefehl.

Assistant antwortet, bis ON_RESPONDING_FINISHED empfangen wird.

Parameter:is_error_response (bool) – True bedeutet, dass ein lokaler Fehler abgespielt wird. Andernfalls antwortet Assistant mit einer Serverantwort.
ON_START_FINISHED = 0

Die Assistant-Mediathek wurde gestartet.

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

Verlängert Warteschlange.Queue, um eine __iter__-Schnittstelle hinzuzufügen.

offer(Ereignis)

Stelle ein Ereignis bereit, das in die Warteschlange gestellt werden soll.

Wenn die Warteschlange derzeit voll ist, wird das Ereignis protokolliert, aber nicht hinzugefügt.

Parameter:event (Ereignis): Das Ereignis, das der Warteschlange hinzugefügt werden soll.
Klasse google.assistant.library.event.MediaStateChangeEvent(event_type, args, **_)

Erweitert das Ereignis, um das Parsen von "state" hinzuzufügen.

Klasse google.assistant.library.event.MediaTrackType

Arten von Tracks für ON_MEDIA_TRACK_X-Ereignisse.

Wird mit ON_MEDIA_TRACK_LOAD, ON_MEDIA_TRACK_PLAY und ON_MEDIA_TRACK_STOP verwendet

CONTENT = 2

Der tatsächliche Inhalt eines Artikels (Nachrichten/Podcasts).

TTS = 1

Eine TTS-Einführung oder ein Interstitial-Track in Bezug auf einen Artikel

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

Erweitertes Ereignis, um das Parsen von „response_type“ zu ergänzen.

Klasse google.assistant.library.event.RenderResponseType

Die zu rendernden Inhaltstypen.

Wird mit ON_RENDER_RESPONSE verwendet