Added assistant conversation timeout event

This commit is contained in:
Fabio Manganiello 2018-05-25 18:18:16 +02:00
parent 96e3acb20f
commit 4f75b765b1
2 changed files with 8 additions and 1 deletions

View file

@ -12,7 +12,7 @@ from google.assistant.library.file_helpers import existing_file
from platypush.backend import Backend from platypush.backend import Backend
from platypush.message.event.assistant import \ from platypush.message.event.assistant import \
ConversationStartEvent, ConversationEndEvent, SpeechRecognizedEvent ConversationStartEvent, ConversationEndEvent, ConversationTimeoutEvent, SpeechRecognizedEvent
class AssistantGoogleBackend(Backend): class AssistantGoogleBackend(Backend):
""" Class for the Google Assistant backend. It creates and event source """ Class for the Google Assistant backend. It creates and event source
@ -46,6 +46,8 @@ class AssistantGoogleBackend(Backend):
self.bus.post(ConversationStartEvent()) self.bus.post(ConversationStartEvent())
elif event.type == EventType.ON_CONVERSATION_TURN_FINISHED: elif event.type == EventType.ON_CONVERSATION_TURN_FINISHED:
self.bus.post(ConversationEndEvent()) self.bus.post(ConversationEndEvent())
elif event.type == EventType.ON_CONVERSATION_TURN_TIMEOUT:
self.bus.post(ConversationTimeoutEvent())
elif event.type == EventType.ON_RECOGNIZING_SPEECH_FINISHED: elif event.type == EventType.ON_RECOGNIZING_SPEECH_FINISHED:
phrase = event.args['text'].lower().strip() phrase = event.args['text'].lower().strip()
logging.info('Speech recognized: {}'.format(phrase)) logging.info('Speech recognized: {}'.format(phrase))

View file

@ -29,6 +29,11 @@ class ConversationEndEvent(AssistantEvent):
super().__init__(*args, **kwargs) super().__init__(*args, **kwargs)
class ConversationTimeoutEvent(ConversationEndEvent):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
class SpeechRecognizedEvent(AssistantEvent): class SpeechRecognizedEvent(AssistantEvent):
def __init__(self, phrase, *args, **kwargs): def __init__(self, phrase, *args, **kwargs):
super().__init__(phrase=phrase, *args, **kwargs) super().__init__(phrase=phrase, *args, **kwargs)