我如何从漫游器内部向Microsoft漫游器发送消息,以便消息将通过对话框流以相应的响应通过?

问题描述 投票:-1回答:1

的标题实际上应该是“当某人抹掉上下文或当有人使用该机器人时服务器重新启动时,如何使该机器人优雅地响应。A.令人困惑,而B.我需要对此进行计划从逻辑上讲,这将是第一部分。

  1. [不使用Directline,也许最好是不使用Directline,我该如何向用户发送一条信息给机器人,就像我在客户端与机器人说话一样。例如,当我在客户端说“你好”时,机器人会处理该信息并通过对话框进行响应。
  2. 我想“预先”向机器人发送消息,以便它主动发出响应。现在这不是主动消息传递,因为那是另一个用户进入机器人并与客户端对话,这不是我想要的。

同样,我如何从机器人内部向机器人发送消息。

  1. 我想要这样做的原因是:如果服务器关闭或该人由于某种原因丢失了上下文,并且他们已经在机器人内部,则必须重新进入该机器人。具体来说,好像“正在重新开始”对话。但是,就像在模拟器中一样,当您重新启动对话时,您将重新进入bot并重新连接/重新启动用户。在这种情况下,您什么都不做。您就在那里...下一次键入该路径应该已经存在。
  2. 在我的情况下,就像上下文已消失,必须重新建立自身,然后您才能继续与机器人对话。

对用户体验的影响是:他们键入文本,而漫游器会忽略它,并且实际上会重新启动,然后他们将不得不再次键入文本。

标题实际上应该是“当某些东西消失时,或者有人在使用机器人时,如果服务器重新启动,我如何使机器人优雅地响应。A。令人困惑,而B. ...

node.js typescript botframework direct-line-botframework
1个回答
0
投票

您正在使用什么状态存储?如果您使用的是内存存储,则您期望的行为是预期的。内存存储是易失性和临时性的。您需要使用持久且更健壮的状态存储(Cosmos,Azure Blob)。这样,可以保留用户所在的“位置”(例如,在对话中在瀑布对话框中)。通常由ConversationState提供。

请参阅此处了解更多信息:https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-concept-state?view=azure-bot-service-4.0

© www.soinside.com 2019 - 2024. All rights reserved.