Tag: botbuilder

我正在尝试使用Microsoft bot框架来构build聊天机器人

我在这里定义了一本字典 var dict = {'English 101?': 'Room 205', 'English 102?': 'Room 309', 'Math 301': 'Room 705', 'Math 302': 'Room 704'}; 当用户询问“英语101在哪里”时,我想让机器人在“205室”回复。 我用下面的方式对它进行硬编码: var builder = require('botbuilder'); var helloBot = new builder.TextBot(); var dialog = new builder.CommandDialog(); dialog.matches('^Where is English 101?', builder.DialogAction.send('In Room 205')); dialog.matches('^Where is English 102?', builder.DialogAction.send('In Room 309')); dialog.matches('^Where is Math 301?', builder.DialogAction.send('In […]

Node.js:如何使用MS Bot框架在Slack中发送直接消息?

我正在尝试使用LUIS创build一个Slack机器人,当机器人在添加的频道中看到问候语时,它会向发送问候语的用户发送直接消息。 我看了Issue #431并写了一个bot。 这是我的代码: var builder = require('botbuilder'); var restify = require('restify'); // Setup Restify Server var server = restify.createServer(); server.listen(process.env.port || process.env.PORT || 3978, function () { console.log("%s listening to %s", server.name, server.url); }); server.get(/.*/, restify.serveStatic({ 'directory': '.', 'default': 'index.html' })); // Create Chat Bot var connector = new builder.ChatConnector({ appId: process.env.MICROSOFT_APP_ID, appPassword: process.env.MICROSOFT_APP_PASSWORD […]

微软BotFramework:如何发送原始的JSON消息到渠道?

我正在使用Node.js和BotBuilder v3.1.1。 以前,我们有Session.sendMessage(); 我们可以使用它将原始数据发送到我们连接的通道。 这对于快速testing和使用尚未在库中实现的新functioncertificate是有用的。 如何在当前版本v3上执行此操作,因为sendMessage方法已被删除?

bot.beginDialog到特定的用户和频道

我希望我的机器人能够在未来的某个时候与其他用户开始新的对话。 而不是像Bot连接器Node.js文档中的传入POST消息启动的,我试图从对话本身开始。 对于Node:使用require('botconnector') , ConnectorClient()或Bot连接器REST API,推荐使用哪种方法还不太清楚。 然而,基于run-async和LUIS的例子,我注意到beginDialog实际上允许你指定目标地址: bot.beginDialog(address, '/run-async/runner', { name: name }); 或者cortanaBot.beginDialog({ from: alarm.from, to: alarm.to }, '/notify', alarm); 我认为这是相当直接和清晰的方法,但是,僵尸简单地停止响应,当我包含这样的参数(它的工作原理,如果我只是使用session.beginDialog('/myalarm', { alarm: "some alarm" }); )。 我错过了什么吗? require('dotenv').config(); var restify = require('restify'); var builder = require('botbuilder'); // Get secrets from server environment var botConnectorOptions = { appId: process.env.BOTFRAMEWORK_APPID, appSecret: process.env.BOTFRAMEWORK_APPSECRET }; // Create […]

Docker上的Bot框架模拟器和其他Node.js中Bot Builder的问题

我努力使bot-framework-emulator和Node.js Builder的Bot Builder在Linux下工作。 由于Linux的bot-framework-emulator需要mono,所以我决定在Docker下面用Dockerfile运行它: FROM mono:latest EXPOSE 9000 COPY . BotFrameworkEmulator-Console/ CMD [ "mono", "./BotFrameworkEmulator-Console/BFEmulator.exe" ] 我用命令启动它(也暴露端口9000): docker run -it –rm -p 9000:9000 bfemulator 它开始很好,似乎工作。 这是第一个问题。 bot-framework-emulator页面声明: 对于在Mac和Linux上开发的人,我们已经创build了一个仅使用单声道的控制台版本。 这是否意味着它不包含web界面作为bot变种bot emu? 因为netstat -al报告比BFEmulator.exe正在监听端口9000,但在访问localhost:9000时无法从docker主机访问。 从Docker容器内部不能访问。 第二个问题是比我甚至不能使用BFEmulator的控制台模式。 在我的主机上,我正在运行nodejs docker bot示例,在部署到“Microsoft Bot Framework”时工作正常。 以下是示例代码: var restify = require('restify'); var builder = require('botbuilder'); //========================================================= // Bot Setup //========================================================= // Setup […]

在IntelliJ中debuggingNode.js Bot Builder项目

我有一个简单的Node.js服务,使用Bot Builder SDK,使用运行在localhost:3978上的Bot模拟器。 当我尝试使用IntelliJ 2016.3.3。 启动我的服务器node –debug-brk app.js ,在5858上的Node.js远程debugging,无法连接到它。 但是,我能够attach to process MSFT VSCode attach to process和debugging就好了。 我的节点版本是v7.4.0。

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, […]