仅在没有对话激活时才可以使用

时间:2017-05-25 09:37:40

标签: c# botframework

我有一个使用luis的机器人,但由于luis通常需要2-3秒才能响应我已经实现了一个push / pop edx,它使用简单的正则表达式模式来匹配不需要通过luis的常见请求(你好,什么是你等。)。

我的问题是,当用户处于子对话框或等待用户输入的提示时,仍然会运行scorable,这可能导致以下结果:

  

用户:您好

     

Bot:嗨   (来自可评价的)

     

用户:我的航班现在几点?

IScorable
  

Bot:你的航班号是多少?

在上面的例子中,用户的下一条消息将被发送到PromptDialog.Text(context, LookupFlightNumber, "What is your flight number?"); 方法但是如果用户说"你好"可以匹配,机器人会打招呼。

LookupFlightNumber超越false时,我试图返回HasScore IDialogStack超过1帧,但帧数似乎不是我预期的。

更新 我已经将Scorable中的逻辑移到RootDialog.MessageReceived作为替代,但我仍然感兴趣,如果可以使用IScorable

0 个答案:

没有答案