的标题实际上应该是“当某人抹掉上下文或当有人使用该机器人时服务器重新启动时,如何使该机器人优雅地响应。A.令人困惑,而B.我需要对此进行计划从逻辑上讲,这将是第一部分。
我想“预先”向机器人发送消息,以便它主动发出响应。现在这不是主动消息传递,因为那是另一个用户进入机器人并与客户端对话,这不是我想要的。
同样,我如何从机器人内部向机器人发送消息。
在我的情况下,就像上下文已消失,必须重新建立自身,然后您才能继续与机器人对话。
对用户体验的影响是:他们键入文本,而漫游器会忽略它,并且实际上会重新启动,然后他们将不得不再次键入文本。
标题实际上应该是“当某些东西消失时,或者有人在使用机器人时,如果服务器重新启动,我如何使机器人优雅地响应。A。令人困惑,而B. ...
您正在使用什么状态存储?如果您使用的是内存存储,则您期望的行为是预期的。内存存储是易失性和临时性的。您需要使用持久且更健壮的状态存储(Cosmos,Azure Blob)。这样,可以保留用户所在的“位置”(例如,在对话中在瀑布对话框中)。通常由ConversationState提供。
请参阅此处了解更多信息:https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-concept-state?view=azure-bot-service-4.0