【发布时间】:2019-03-06 01:30:58
【问题描述】:
我在健康机器人设计器中创建了几个场景。我正在尝试与我的前端集成。但是,我没有看到任何关于集成过程的完整文档。我已经推荐了https://github.com/Microsoft/HealthBot-WebChat 没有任何运气。我如何获得 healthbot 的直接链接。我尝试过使用网络机器人并能够生成直线,但不确定如何将网络机器人频道链接到健康机器人场景。有什么帮助吗?
【问题讨论】:
标签: botframework
我在健康机器人设计器中创建了几个场景。我正在尝试与我的前端集成。但是,我没有看到任何关于集成过程的完整文档。我已经推荐了https://github.com/Microsoft/HealthBot-WebChat 没有任何运气。我如何获得 healthbot 的直接链接。我尝试过使用网络机器人并能够生成直线,但不确定如何将网络机器人频道链接到健康机器人场景。有什么帮助吗?
【问题讨论】:
标签: botframework
您可以使用 WebChat 将医疗保健机器人服务集成到 Web 应用程序中。首先,您需要从 Healthcare Bot Service Manager 获取您的 WebChat Secret。在左侧窗格中,单击集成边栏选项卡,在下拉选项中选择机密,然后复制 webchat_secret。
获得密钥后,您可以从 DirectLine 请求令牌并在您的 Web 应用程序上呈现 WebChat 组件。看看下面的例子。
<!DOCTYPE html>
<html lang="en-US">
<head>
<title>Healthcare bot</title>
<script src="https://cdn.botframework.com/botframework-webchat/master/webchat.js"></script>
<style>
html, body { height: 100% }
body { margin: 0 }
#webchat,
#webchat > * {
height: 100%;
width: 100%;
}
</style>
</head>
<body>
<div id="webchat" role="main"></div>
<script>
(async function() {
// Note, for the simplicity of this example, we are fetching the DirectLine token here;
// however, it is recommended that you create a backend REST API to generate and manage
// your tokens.
const res = await fetch('https://directline.botframework.com/v3/directline/tokens/generate',
{
method: 'POST',
headers: {
'Authorization': `Bearer <WEBCHAT_SECRET>`,
'Content-Type': 'application/json'
},
body: {
// The user id must start with `dl` and should be unique for each user.
User: { Id: 'dl_user_id' }
}
});
const { token } = await res.json();
window.WebChat.renderWebChat({
directLine: window.WebChat.createDirectLine({ token }),
}, document.getElementById('webchat'));
})().catch(err => console.log(err));
</script>
</body>
注意,为简单起见,我们在此处获取 DirectLine 令牌;但是,建议您创建一个后端 REST API 来生成和管理您的令牌。
希望这会有所帮助!
【讨论】:
找到了一种方法。我们需要添加一个模型并通过 Health Bot Management Portal 启用触发器
【讨论】:
有一种直接的方法可以从前端触发场景。如果您想完全依赖自己的响应,那么您必须关闭内置场景并在事件发布 javascript 代码中调用场景名称。查看下面的“触发器”元素: 机器人连接 .postActivity({ 类型:“事件”, 价值: { 触发器:“your_scenario_name_here”,参数:{} }, 来自:您的用户名, 名称:“开始调试场景” });
【讨论】: