Google Assistant Library

Package google.assistant.library.

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

Client de la bibliothèque de l'Assistant Google.

Fournit des fonctionnalités de contrôle de base et une gestion du cycle de vie pour l'Assistant Google. Il est recommandé d'utiliser l'Assistant en tant que ContextManager:

with Assistant(credentials, device_model_id) as assistant:

Cela permet à l'implémentation native sous-jacente de gérer correctement la mémoire.

Une fois start() appelé, l'Assistant génère un flux d'événements transmettant les différents états dans lesquels il se trouve actuellement, par exemple:

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}

Pour en savoir plus sur tous les événements et leurs arguments, consultez EventType.

Glossaire :

  • Mot clé: phrase que l'Assistant écoute lorsqu'il n'est pas mis en sourdine:

    "OK Google" OR "Hey Google"
    
  • Tour: requête unique de l'utilisateur suivie d'une réponse de l'Assistant.

  • Conversation: une ou plusieurs étapes qui aboutissent à un résultat final souhaité de la part de l'Assistant:

    "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!"
    
Paramètres :
  • credentials (google.oauth2.credentials.Credentials) : identifiants OAuth2 Google de l'utilisateur.
  • device_model_id (str) : device_model_id enregistré pour votre projet auprès de Google. Ce champ ne doit pas être vide.
Déclenche :

ValueError : si device_model_id a été laissé vide ou défini sur "None".

device_id

Renvoie l'ID de l'appareil généré par l'Assistant.

Cette valeur identifie votre appareil auprès du serveur lorsque vous utilisez des services tels que les actions de l'appareil Google. Cette propriété n'est renseignée qu'après l'appel de start().

Renvoie :ID de l'appareil une fois start() appelé, chaîne vide sinon.
Type de retour:str
send_text_query(requête)

Envoie |query| à l'Assistant comme s'il était prononcé par l'utilisateur.

Le comportement sera le même que celui d'un utilisateur qui prononce le mot clé et effectue une requête OU prononce la réponse à une requête ultérieure.

Paramètres :query (str) : requête textuelle à envoyer à l'Assistant.
set_mic_mute(is_muted)

Empêche l'Assistant d'écouter le mot clé.

Permet de désactiver l'écoute du mot clé par l'Assistant. Cette fonctionnalité est semblable au bouton de confidentialité à l'arrière de Google Home.

Cette méthode n'a aucun effet si l'Assistant n'a pas encore été démarré.

Paramètres :is_muted (bool) : la valeur "True" empêche l'Assistant d'écouter, tandis que la valeur "False" lui permet de redémarrer.
start()

Démarre l'Assistant, qui écoute un mot clé.

Une fois start() appelé, l'Assistant commence à traiter les données de la source audio ALSA par défaut, en écoutant le mot clé. Cela démarre également d'autres services fournis par l'Assistant, tels que les minuteurs/alarmes. Cette méthode ne peut être appelée qu'une seule fois. Une fois appelé, l'Assistant continue de s'exécuter jusqu'à l'appel de __exit__.

Renvoie :File d'attente d'événements qui signalent les modifications de l'état de l'Assistant.
Type de retour:google.assistant.event.IterableEventQueue
start_conversation()

Démarre manuellement une nouvelle conversation avec l'Assistant.

Commence à enregistrer la parole de l'utilisateur et à l'envoyer à Google, comme lorsque l'Assistant entend le mot clé.

Cette méthode ne fait rien si l'Assistant n'est pas démarré ou a été mis en sourdine.

stop_conversation()

Arrête toute conversation active avec l'Assistant.

L'Assistant peut écouter la requête de l'utilisateur OU y répondre. Si aucune conversation n'est active, cette opération n'a aucun effet.

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

Élargit l'événement pour ajouter l'analyse de "alert_type".

class google.assistant.library.event.AlertType

Types d'alertes.

Utilisé avec les événements ON_ALERT_STARTED et ON_ALERT_FINISHED.

ALARM = 0

Événement défini pour une heure absolue, par exemple "3h du matin le lundi"

TIMER = 1

Événement défini pour une heure relative, par exemple "30 secondes à partir de maintenant"

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

Élargit l'événement pour ajouter la propriété "actions".

actions

Générateur de commandes à exécuter pour l'appareil actuel.

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

Événement généré par l'Assistant.

type

EventType : type d'événement généré.

args

dict : paires clé/valeur d'argument associées à cet événement.

static New(event_type, args, **kwargs)

Créez un événement à l'aide d'une classe d'événement spécialisée si nécessaire.

Paramètres :
  • event_type (int) : identifiant numérique correspondant à un événement dans google.assistant.event.EventType.
  • args (dictionnaire) : paires clé/valeur d'argument associées à cet événement.
  • kwargs (dict) : paires clé/valeur d'argument facultatif spécifiques à une spécialisation de la classe Event pour un EventType.
class google.assistant.library.event.EventType

Types d'événements.

ON_ALERT_FINISHED = 11

Indique que l'alerte de alert_type a fini de retentir.

Paramètres :alert_type (AlertType) : ID de l'énumération représentant le type d'alerte qui vient de se terminer.
ON_ALERT_STARTED = 10

Indique qu'une alerte a commencé à retentir.

Cette alerte continuera jusqu'à ce que ON_ALERT_FINISHED avec le même alert_type soit reçu. Une seule alerte doit être active à la fois.

Paramètres :alert_type (AlertType) : ID de l'énumération représentant le type d'alerte actuellement en cours.
ON_ASSISTANT_ERROR = 12

Indique si la bibliothèque de l'Assistant a rencontré une erreur.

Paramètres :is_fatal (bool) : si la valeur est "True", l'Assistant ne peut pas se rétablir et doit être redémarré.
ON_CONVERSATION_TURN_FINISHED = 9

L'Assistant a terminé le virage en cours.

Cela inclut le traitement de la requête de l'utilisateur et la lecture de la réponse complète, le cas échéant.

Paramètres :with_follow_on_turn (bool) : si la valeur est "True", l'Assistant attend une interaction de suivi de la part de l'utilisateur. Le micro sera réactivé pour permettre à l'utilisateur de répondre à une question de suivi.
ON_CONVERSATION_TURN_STARTED = 1

Indique qu'un nouveau virage a commencé.

L'Assistant écoute actuellement et attend une requête de l'utilisateur. Cela peut être dû à l'activation du mot clé ou à l'appel de start_conversation() dans l'Assistant.

ON_CONVERSATION_TURN_TIMEOUT = 2

Le délai d'attente de l'Assistant a expiré en attendant une requête claire.

Cela peut être dû à un déclenchement incorrect du mot clé ou à l'impossibilité de l'Assistant de comprendre ce que l'utilisateur a dit.

ON_DEVICE_ACTION = 14

Indique qu'une requête Device Action (Action de l'appareil) a été envoyée à l'appareil.

Cette méthode est envoyée si une grammaire d'appareil est déclenchée pour les attributs compatibles avec l'appareil. Ce type d'événement possède une propriété "actions" spéciale qui renvoie un itérateur ou des commandes d'action de l'appareil, ainsi que les paramètres qui leur sont associés (le cas échéant).

Paramètres :dict : charge utile JSON décodée d'une requête d'action sur l'appareil.
ON_END_OF_UTTERANCE = 3

L'Assistant a cessé d'écouter la requête de l'utilisateur.

L'Assistant n'a peut-être pas encore terminé de comprendre ce que l'utilisateur a dit, mais il a cessé d'écouter d'autres données audio.

ON_MEDIA_STATE_ERROR = 20

Indique qu'une erreur s'est produite lors de la lecture d'un titre.

Le lecteur multimédia intégré tente de passer à la piste suivante ou de revenir à ON_MEDIA_STATE_IDLE s'il n'y a plus rien à lire.

ON_MEDIA_STATE_IDLE = 16

Indique qu'aucun contenu n'est en cours de lecture et qu'aucun contenu n'est en file d'attente.

Cet événement est diffusé à partir du lecteur multimédia intégré de la bibliothèque de l'Assistant Google pour les actualités/les podcasts au démarrage et chaque fois que le lecteur est inactif, car un utilisateur a arrêté le contenu multimédia ou l'a mis en pause et que le flux a expiré.

ON_MEDIA_TRACK_LOAD = 17

Indique qu'un titre est en cours de chargement, mais que la lecture n'a pas encore commencé.

Cette opération peut être distribuée plusieurs fois si de nouvelles métadonnées sont chargées de manière asynchrone. L'événement ON_MEDIA_TRACK_PLAY suit généralement.

Paramètres :
  • metadata (dict) :

    Métadonnées du titre chargé. Tous les champs ne seront pas renseignés à ce stade. Si un champ est inconnu, il ne sera pas inclus. Les champs de métadonnées incluent les suivants:

    album(str): nom de l'album auquel le titre appartient. album_art(str): URL de la pochette de l'album. artist(str): artiste ayant créé le titre. duration_ms(double): durée du titre en millisecondes. title(str): titre du titre.
  • track_type (MediaTrackType) : type de piste chargé.
ON_MEDIA_TRACK_PLAY = 18

Indique qu'une piste émet actuellement du contenu audio.

Cela ne se déclenche que lorsque nous passons d'un état à un autre, par exemple de ON_MEDIA_TRACK_LOAD ou ON_MEDIA_TRACK_STOP.

Paramètres :
  • metadata (dict) :

    Métadonnées du titre en cours de lecture. Si un champ est inconnu, il n'est pas inclus. Les champs de métadonnées incluent les suivants:

    album(str): nom de l'album auquel le titre appartient. album_art(str): URL de la pochette de l'album. artist(str): artiste ayant créé le titre. duration_ms(double): durée du titre en millisecondes. title(str): titre du titre.
  • position_ms (double) : position actuelle dans un titre en cours de lecture, en millisecondes depuis le début. Si "metadata.duration_ms" est inconnu (défini sur 0), ce champ ne sera pas défini.
  • track_type (MediaTrackType) : type de titre en cours de lecture.
ON_MEDIA_TRACK_STOP = 19

Indique qu'un titre précédemment en cours de lecture est arrêté.

Cela est généralement dû à la mise en pause de l'utilisateur. Le titre peut revenir à ON_MEDIA_TRACK_PLAY s'il est repris par l'utilisateur.

Paramètres :
  • metadata (dict) :

    Métadonnées du canal arrêté. Si un champ est inconnu, il n'est pas inclus. Les champs de métadonnées incluent les suivants:

    album(str): nom de l'album auquel le titre appartient. album_art(str): URL de la pochette de l'album. artist(str): artiste ayant créé le titre. duration_ms(double): durée du titre en millisecondes. title(str): titre du titre.
  • position_ms (double) : position actuelle dans un canal arrêté, en millisecondes depuis le début. Si "metadata.duration_ms" est inconnu (défini sur 0), ce champ ne sera pas défini.
  • track_type (MediaTrackType) : type de piste arrêtée.
ON_MUTED_CHANGED = 13

Indique si l'Assistant est en train d'écouter ou non.

start() génère toujours un ON_MUTED_CHANGED pour indiquer la valeur initiale.

Paramètres :is_muted (bool) : si la valeur est "True", l'Assistant n'écoute pas actuellement son mot clé et ne répond pas aux requêtes des utilisateurs.
ON_NO_RESPONSE = 8

L'Assistant a bien effectué son tour, mais n'a rien à dire.

ON_RECOGNIZING_SPEECH_FINISHED = 5

L'Assistant a déterminé la parole finale reconnue.

Paramètres :text (str) : interprétation textuelle finale de la requête d'un utilisateur.
ON_RENDER_RESPONSE = 15

Indique que l'Assistant dispose d'une sortie textuelle à afficher pour une réponse.

Paramètres :
  • type (RenderResponseType) : type de réponse à afficher.
  • text (str) : chaîne à afficher pour RenderResponseType.TEXT.
ON_RESPONDING_FINISHED = 7

L'Assistant a fini de répondre par commande vocale.

ON_RESPONDING_STARTED = 6

L'Assistant commence à répondre par commande vocale.

L'Assistant répondra jusqu'à ce que ON_RESPONDING_FINISHED soit reçu.

Paramètres :is_error_response (bool) : "true" signifie qu'une synthèse vocale d'erreur locale est lue, sinon l'Assistant répond avec une réponse du serveur.
ON_START_FINISHED = 0

La bibliothèque de l'Assistant a fini de démarrer.

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

Étend queue.Queue pour ajouter une interface __iter__.

offer(événement)

Proposez un événement à mettre dans la file d'attente.

Si la file d'attente est actuellement pleine, l'événement sera consigné, mais pas ajouté.

Paramètres :event (Événement) : événement à essayer d'ajouter à la file d'attente.
class google.assistant.library.event.MediaStateChangeEvent(event_type, args, **_)

Élargit l'événement pour ajouter l'analyse de l'état.

class google.assistant.library.event.MediaTrackType

Types de pistes pour les événements ON_MEDIA_TRACK_X.

Utilisé avec ON_MEDIA_TRACK_LOAD, ON_MEDIA_TRACK_PLAY et ON_MEDIA_TRACK_STOP

CONTENT = 2

Contenu réel d'un élément (actualité/podcast).

TTS = 1

Piste de présentation ou interstitielle par synthèse vocale associée à un article.

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

Élargit l'événement pour ajouter l'analyse de "response_type".

class google.assistant.library.event.RenderResponseType

Types de contenus à afficher.

Utilisé avec ON_RENDER_RESPONSE