node.js - Microsoft Botframework Prompts.choice 未获得验证响应

标签 node.js botframework

我正在使用 chatconnector 将我的机器人连接到前端聊天应用程序并将机器人的响应写入我自己的数据库。问题是当我验证机器人响应的提示时,但没有 API 可供我获取验证响应。

bot.dialog('/', [
function (session) {
    builder.Prompts.choice(session, "Which color?", "red|green|blue");

},
function (session, results, next) {
   //after the user respond, the bot validates the input, if it's not 
   //one of the choices, this next function in the waterfall doesn't
   //even run, therefore I have no way to write the bot response 
   //into my own chat database and render it for the user 

}])

无论如何我可以获取机器人对验证失败的响应吗?

最佳答案

简短的回答:没有。

长答案:目前这不是 SDK 的一项功能。如果对选择提示的输入响应与提供的任何选项(也称为“意图”)不匹配,则 waterfall 对话不会继续执行第 2 步,因为没有匹配响应。系统设计是警告用户并等待他们按名称或数字(取决于 channel )输入提供的选项之一。例如。如果答案与任何选项都不匹配,框架将提示用户“我不明白。请从列表中选择一个选项。”直到输入有效选项。

黑客回答:在这种情况下,您需要修改 SDK 以满足您的需求,然后使用您定制的 SDK 版本部署您的机器人。您要查找的文件是 Microsoft/BotBuilder/Node/core/src/dialogs/PromptChoice.ts

关于node.js - Microsoft Botframework Prompts.choice 未获得验证响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39101533/

相关文章:

node.js - 如何基于服务器和客户端向 Dust.js 添加上下文助手

azure - 除了使用登录卡之外,还有其他方法在机器人中登录用户吗?

node.js - eclipse for nodeclipse 中的 Node 监视器路径

botframework - PromptDialog.Choice 不显示选项

c# - 将 BotState 迁移到 Azure 表存储 : no more possibility to access UserData without IDialogContext?

node.js - 如何在 bot 框架中的两条消息之间进行延迟 - Node.js

c# - 机器人上下文。等待不显示下一条消息

javascript - 如何每天在特定时间运行node.js cron?

javascript - 创建单独的 npm 模块并在本地使用它们的正确方法是什么

node.js - Node.js 环境中的水平缩放和 GraphQL