Мне не совсем понятно, чего бы вы хотели достичь.Прежде всего, пока вы используете метод conv.close()
, вы заканчиваете разговор.Если вы хотите оставить микрофон открытым, вам нужно использовать метод conv.ask()
.Но я не уверен, что вы можете использовать conv.ask()
с actions.intent.CANCEL, потому что это событие предназначено для вывода пользователя, а не для продолжения разговора.Но я не уверен на 100%, вам нужно попробовать.
Если вы пытаетесь достичь чего-то подобного:
Пользователь: Отмена
Система: Как бы вы оценили наше взаимодействие?
Пользователь: Хорошо.
earcon
Тогда, по моему скромному мнению, вы, вероятно, не должны (и, как я сказал, вы, вероятно, не можете) сделать это.В документах четко указано, что целью пользовательского поведения при выходе является:
, чтобы очистить логику выполнения и ответить пользователю в последний раз.
Кроме того, в документах не говорится, что система будет ждать ответа пользователя в течение 2 секунд.В нем говорится, что выполнение запроса (время ожидания для вашего выполнения) составляет 2 секунды.Плюс;если пользователь отменяет разговор в середине разговора, есть вероятность, что взаимодействие все равно было неудачным.Я бы предпочел создать диалоги обратной связи, которые связаны с запасными намерениями и счастливыми путями.
Тем не менее, попробуйте использовать conv.ask()
и дайте мне знать, если это работает.(И, пожалуйста, дайте мне знать, комментируя.) В любом случае, я бы посоветовал получить обратную связь другим способом.