Tag: botframework

如何开始新的主动对话对话框,而不会结束当前正在进行的对话

SDK语言: Node.js SDK版本:3.6 开发环境: Node.js:6.9.5 npm版本:4.5.0 问题描述 假设用户正在与bot进行对话,我们希望通过主动消息(bot给用户)发送一些调查给用户。 感觉调查用户应该回到以前的谈话状态,从哪一点开始调查。 或者简单地说,如何开始新的主动对话对话而不结束当前正在进行的对话

将npm包安装到Azure Bot Service中

我正在尝试将bot分析( https://github.com/Botanalytics/botanalytics-microsoftbotframework-middleware )集成到一个azure bot服务中。 不过,因为我对node.js非常陌生,所以我不知道如何使用npm在azure中安装这个包。 我所做的是将“npm install botanalytics-microsoftbotframework-middleware”input到azure云壳中。 但是,当我检查node_modules和package.json(下面的截图)文件夹,它没有显示在那里。 这应该是一个不错的问题,但我的知识仅限于解决自己的问题。 谢谢! [编辑] { "name": "luisbot", "version": "1.0.0", "description": "", "main": "index.js", "dependencies": { "botbuilder": "^3.7.0", "botbuilder-azure": "3.0.2", "botanalytics-microsoftbotframework-middleware": "0.0.1" }, "devDependencies": { "restify": "^4.3.0" }, "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC" }

如何在微软bot生成器中使用电子邮件频道

目前我正在使用僵尸通道与bot生成器。 我想使用电子邮件渠道,有没有这样的示例代码。 什么是有效的方式来发送电子邮件从机器人,以避免垃圾邮件我正在使用节点js

我们如何为Microsoft Bot Framework中的不同用户维护不同的会话?

我已经创build了一个使用Bot框架的机器人,并想知道在使用Directline时是否有任何方法为不同的用户维护不同的会话。 在使用Skype通道时,用户会话是为个人用户维护的,我希望在我的directline客户端中实现相同的function。 在我的情况下,以前的会话数据正在被下一个会话数据覆盖。 我正在使用Node.js来构build机器人。

机器人对话框不启动

我在这里问你们谁知道为什么我的机器人不会启动对话框? 我是一个在机器人世界中的新人,并阅读了很多,但似乎无法解决这个问题。 var restify = require('restify'); var builder = require('botbuilder'); // 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); }); // Create chat connector for communicating with the Bot Framework Service var connector = new builder.ChatConnector({ appId: process.env.MICROSOFT_APP_ID, appPassword: process.env.MICROSOFT_APP_PASSWORD }); var […]

在QnAMakerRecognizer中使用onEnabled方法

我正在尝试在onEnabled使用onEnabled方法,这样我就可以有多个QnAMakerRecognizers,并可以select启用哪个和禁用哪个。 我试着按照这个例子,并尝试类似的东西,但我得到一个错误说: TypeError:(中间值).onEnabled不是函数 如何正确使用onEnable方法? 示例代码: var bot = new builder.UniversalBot(connector); var qnarecognizer1 = new cognitiveservices.QnAMakerRecognizer({ knowledgeBaseId: knowledgeId, subscriptionKey: subscriptionId, qnaThreshold:0.3, top:1}) .onEnabled(function (session, callback) { // Check to see if this recognizer should be enabled if (session.conversationData.useqna1) { callback(null, true); } else { callback(null, false); } }); var qnarecognizer2 = new cognitiveservices.QnAMakerRecognizer({ knowledgeBaseId: knowledgeId, subscriptionKey: […]

如何从bot框架的botbuilder(JavaScript)获取当前对话框?

我正在用BotBuilder(Node版本)build立一个聊天机器人。 我希望打印出对话框来进行debugging。 有没有可能做到这一点?

具有RegEx和意图的triggerAction

我正在使用bot框架来帮助系统中的基本任务。 其中一项任务是列出不同的数据组,例如组和用户。 处理这个对话框如下所示: lib.dialog('/', function(session) { <code> }).triggerAction({matches: stuff}); 代码部分可以处理抛出的每一种列表,所以我想让triggerAction捕获所有不同的列表。 它们在我自己的自定义识别器中得到识别,并且将总是GetTopicList的格式,其中“主题”是“用户”或“组”等,因此意图将是“GetUserList”或“GetGroupList”。 我似乎无法得到RegEx的工作,因为它会开始听取消息,而不是我的识别器(/^Get.*List$/解决问题,但它不会听识别器)。 一旦你在一个triggerAction中使用RegEx,触发器开始监听发送给机器人的消息而不是意图,这种行为不是我正在寻找的,而是让触发器仍然听取意图。 这可能吗?

我怎样才能让我的机器人向Microsoft Teams频道发送消息?

我有一个与文档快速入门中演示的相同的机器人。 它反复无论用户说(现在)。 它目前正在本地运行,并且暴露在非法之中。 我已经注册了Bot Bot和Microsoft Bot Framework。 我已经在Microsoft Bot框架中configuration了Microsoft Teams频道,并且已经将我的机器人加载到了团队中。 我的机器人可以接收来自团队用户的消息。 目前,僵尸程序只是重复收到用户的任何内容,但我想要的是发布到Microsoft Teams频道 。 我希望它发布到团队频道 – 而不是用户 – 没有被用户首先提示。 因此,举例来说,给定一定条件(例如,由诸如一天中的某个事件,拉取请求等触发),它在信道中发布消息。 我已阅读关于发送主动消息的文档,并且我收集到为了向团队频道发送消息,该bot需要知道用户的“地址”。 该信息存储在session.message.address对象中,并从当前对话中获取。 然而,在我的情况下,我没有一个“当前的保护”,因为我不想只是回应用户,我想主动在频道上发帖。 那么,我如何永久性地为团队频道设置必要的凭证/地址/会话数据呢? 我看过的东西: networking挂接。 我在我的团队频道中configuration了一个webhook,我可以使用curl轻松地发送消息(使用webhook url)。 所以我可以发送一个简单的消息,只有一个url(不需要身份validation),简单的消息队通道,但我不知道如何将这个URL到我的机器人。 我们如何为Microsoft Bot Framework中的不同用户维护不同的会话? 我不确定这里的答案是否回答我的问题。 我的问题是,机器人正在发起'对话',而不是一个团队用户,所以我需要能够自己设置会话数据,所以机器人知道去哪里。 App.js: require('dotenv').config(); var restify = require('restify'); var builder = require('botbuilder'); // Setup Restify Server var server = restify.createServer(); server.listen(process.env.port || process.env.PORT […]

负载testing机器人生成器机器人

更新 使用模拟器作为channelId和更新到SDK 3.13.1为我工作。 应用程序ID:8c082f92-fb38-4841-a29f-339eb315f7aa SDK平台:Node.js SDK版本:3.13.1 有效频道:Facebook 部署环境:ngrok 问题描述 我尝试了下面这个链接中提到的步骤。 这有两个部分。 一个是创build令牌,第二个是发送消息给机器人。 POSTMAN请求导致500内部服务器错误和ERROR:ChatConnector:接收 – 代码中的无效签名密钥或OpenId元数据文档。 代码示例 创build令牌 curl -X POST https://login.microsoftonline.com/botframework.com/oauth2/v2.0/token -H 'cache-control: no-cache' -H 'content-type: application/x-www-form-urlencoded' -H 'postman-token: 792660ab-b1aa-0cbd-edab-9b3847c170d5' -d 'grant_type=client_credentials&client_id=8c082f92-fb38-4841-a29f-339eb315f7aa&client_secret=vxcihBT2679%7C(%23puEXBPT1!&scope=8c082f92-fb38-4841-a29f-339eb315f7aa%2F.default' 发送一个消息 curl -X POST https://1c36f336.ngrok.io/api/messages -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Ing0Nzh4eU9wbHNNMUg3TlhrN1N4MTd4MXVwYyJ9.eyJhdWQiOiI4YzA4MmY5Mi1mYjM4LTQ4NDEtYTI5Zi0zMzllYjMxNWY3YWEiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vZDZkNDk0MjAtZjM5Yi00ZGY3LWExZGMtZDU5YTkzNTg3MWRiL3YyLjAiLCJpYXQiOjE1MTIxOTg2NjcsIm5iZiI6MTUxMjE5ODY2NywiZXhwIjoxNTEyMjAyNTY3LCJhaW8iOiJZMk5nWUZEOHRySzgvZk9XcDF2L1BMM2JibnRGRGdBPSIsImF6cCI6IjhjMDgyZjkyLWZiMzgtNDg0MS1hMjlmLTMzOWViMzE1ZjdhYSIsImF6cGFjciI6IjEiLCJ0aWQiOiJkNmQ0OTQyMC1mMzliLTRkZjctYTFkYy1kNTlhOTM1ODcxZGIiLCJ1dGkiOiJXLWdYbXpPSkxVYWdzSFZUbXBJd0FBIiwidmVyIjoiMi4wIn0.G705tzQIU5Mh6IROtXkIwm8Q9AKZ_q-VOtJuuozqP-ekhWoKc0HpcdhgBlnaMsMHKoM0RWhUlXn27xCfK46vEE9IZlkjcAh7huhvlWNtW8IP5w7QiL3JCSTYKCtBXZq-VKeWctNWR9M8Y9Ry4dyiEdcDMcHWrbOUqR6nXvlwG76GSR4YilqzMWdSW6t5Pep3hwOw07DSargYP0pDAnWAg3pWHnhcJ185533I1VVXEIuc_CK-RmP9qhUAScEbYkpp_7l75bVWzxKv-3E1UOG4SBj6UzfH47X5kwz_njn1kAJcrqBvP3s_CjS4qUdDSNARtxGZ3UQWj49UBKosqar0dg' -H 'cache-control: no-cache' -H 'content-type: application/json' -H 'postman-token: 3a74ce00-2da7-d674-5e4c-083f54ed30ff' -d '{ "type": "message", "id": […]