我在Health bot Designer中创建了几种方案。我正在尝试与前端集成。但是,我看不到有关集成过程的任何完整文档。我已经介绍了https://github.com/Microsoft/HealthBot-WebChat,没有任何运气。我如何获得healthbot的直接链接。我已经尝试过使用网络bot并能够生成直线,但不确定如何将网络bot通道链接到运行状况bot方案。有帮助吗?
答案 0 :(得分:0)
您可以使用WebChat将Healthcare机器人服务集成到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来生成和管理令牌。
希望这会有所帮助!
答案 1 :(得分:0)
找到了一种方法。我们需要添加一个模型并通过Health Bot Management Portal启用触发器
答案 2 :(得分:0)
有一种直接方法可以从前端触发场景。如果要完全依靠自己的响应,则必须关闭内置方案,并在事件发布javascript代码中调用方案名称。查看下面的“触发”元素: botConnection .postActivity({ 类型:“事件”, 值:{ 触发:“您的场景名称_此处”,参数:{} }, 来自:your_user_name, 名称:“ BeginDebugScenario” });