botframework - 在 Microsoft BotFramework WebChat 中模拟业务开发环境的 Skype
问题描述
我正在使用多聊天机器人方法的项目中使用 Microsoft bot 框架(Node js)。
在使用 Microsoft Bot Framework 注册机器人后,添加多个 Skype for Business 频道并将机器人注册到 Skype for Business 不同的租户(由 Name 参数替换为机器人显示名称和来自其域的唯一用户帐户),我'我试图从来自 SFB 的会话消息中的“机器人”对象中识别机器人,这将帮助我检测用户域并确保用户根据他的域接收正确的答案当使用模拟器测试这种方法时我' m 总是接收相同的机器人对象。
因此,我正在尝试修改 BotFramework WebChat Emulator 源代码以模拟 SFB,并通过将生成的聊天机器人 sip 放入会话中来测试我的解决方案,从而使用新的文本框设置 SFB 开发环境。
我在问是否有办法在 Microsoft BotFramework WebChat Emulator 中模拟 SFB?
先感谢您!
解决方案
Bot Framework Emulator无法模拟Skype for Business,因为:
模拟器有一个内置的连接器服务,它更多地模仿了Direct Line通道的连接器服务。此服务的行为与 Skype for Business 连接器服务的行为不完全匹配。
模拟器使用Web Chat作为 UI 客户端。 Skype for Business有各种客户端,它们都不会像 Web Chat 那样呈现活动。Skype for Business 客户端不支持相同的消息类型(卡片、按钮等)。
如果您使用的是 v4 模拟器,您可以修改 .bot 文件并提供您喜欢的任何机器人 ID:
{
"name": "TestBot",
"description": "",
"services": [
{
"type": "endpoint",
"appId": "",
"appPassword": "",
"endpoint": "http://localhost:3979/api/messages",
"id": "sip:testfakebotid",
"name": "http://localhost:3979/api/messages"
}
],
"padlock": "",
"version": "2.0",
"overrides": null,
"path": "C:\\BotFiles\\TestBot.bot"
}
然后,此 id 将在每条消息中发送给机器人,作为 activity.Recipient.id:
推荐阅读
- git - 使用 git 将本地项目上传到现有分支
- c# - 尝试通过在c#中的函数中传递单个值来返回多个值
- curl - 如何将 curl GET 请求转换为 Zapier Webhook 请求?
- mysql - 日期名称函数
- android - 深度链接参数不会通过 Mozilla Firefox 和 Opera 传递到 Android 应用程序
- c# - 如何更改 datetime.Now 没有特殊字符?
- elasticsearch - 无论搜索文本中的空格如何,Elasticsearch 查询都可以获取结果
- css - 如何从 React 表中删除边框?
- android - Espresso 测试权限被拒绝执行 shell 命令“geo fix..”
- xamarin.forms - 如何访问集合视图中的子元素?