我使用bot框架已有一段时间了,RetryPrompt仅显示一次,这一直困扰着我。
我查看了Bot Builder的github源码,看来该消息实际上已发送,但未在Bot Framework Emulator中显示。
MultiTurnPromptBot示例的摘录:
var promptOptions = new PromptOptions
{
Prompt = MessageFactory.Text("Please enter your age."),
RetryPrompt = MessageFactory.Text("The value entered must be greater than 0 and less than 150."),
};
return await stepContext.PromptAsync(nameof(NumberPrompt<int>), promptOptions, cancellationToken);
我希望每当我的消息通过验证时都得到RetryPrompt。如您所见,消息“输入的值必须大于0且小于150”仅显示一次。但实际上,它在日志中同时显示了两条消息。
我的猜测是,仿真器会感到困惑,因为这两个消息实际上具有相同的ID(如您在此处和此处所见)。
有谁知道这是否也发生在其他渠道和/或这是错误/功能吗?
这似乎是模拟器的一个错误。如果您在屏幕快照中查看日志面板,则包含无效值消息的活动将被发送到仿真器,您可以正常进行检查,但该消息不会在聊天控件中显示。在最新和以前版本的Emulator上进行了测试(对于较低版本可以正常工作,该错误似乎在最新版本中)。
附件是指向BotFramework-Emulator存储库中的错误的链接。
希望这可以帮助!!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句