1

我正在使用 Azure 函数向客户端发送主动消息。发送主动消息时如何“重置”对话。

在机器人中,可能会提示用户输入某些内容(例如一天中的时间)。在他们响应之前,可能会向他们发送主动消息。在这种情况下,我想重置/取消之前的对话并重新开始。

我已经能够使用 CancelAllDialogsAsync 重置对话框,这对于用户驱动的消息非常有效。

我正在使用 ConnectorClient 发送我的主动消息,它绕过框架,直接发送到客户端,因此永远不会点击我的中间件来重置对话框。

如何将主动消息发送到框架(我可以从机器人发送响应没问题)

4

1 回答 1

1

我强烈建议您通过让您的函数在ConversationReferencevia 的上下文下向您的机器人发送反向通道事件来解决此问题ConnectorClient。通过这种方式,机器人维护有关状态的所有细节以及发生此事件时应该发生的事情的所有权,而不是将责任泄露给函数。然后,机器人会监视此自定义事件并以它认为合适的方式对其进行响应。

如果您需要更多详细信息,请告诉我,我会更新我的答案。

于 2019-01-10T02:48:36.897 回答