Проактивные прерывания - PullRequest
0 голосов
/ 09 января 2019

Я использую функцию Azure для отправки проактивного сообщения клиенту. Как мне «сбросить» разговор при отправке Проактивного сообщения.

Внутри бота пользователю может быть предложено что-то (например, время суток). Проактивное сообщение может быть отправлено им до того, как они ответят. В этом случае я хотел бы сбросить / отменить предыдущий диалог и начать все сначала.

Я уже могу сбросить диалог, используя CancelAllDialogsAsync, который отлично работает для сообщений, управляемых пользователем.

Я отправляю свое проактивное сообщение, используя ConnectorClient, который обходит инфраструктуру и отправляет напрямую клиенту, таким образом, никогда не ударяя по промежуточному программному обеспечению для сброса диалога.

Как я могу получить проактивное сообщение, отправленное в фреймворк (я могу отправить ответ от бота без проблем)

1 Ответ

0 голосов
/ 10 января 2019

Я бы настоятельно рекомендовал вам решить эту проблему, если ваша функция отправит вашему боту событие обратного канала в контексте ConversationReference через ConnectorClient. Таким образом, бот сохраняет владение всеми деталями о состоянии и о том, что должно произойти, когда происходит это событие, а не об ответственности, вытекающей из функции. Затем бот отслеживает это пользовательское событие и реагирует на него, как считает нужным.

Если вам понадобится дополнительная информация, дайте мне знать, и я обновлю свой ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...