如何将网络聊天嵌入到我的机器人中?
How do I embed a Web Chat to my Bot?
我已经通过 Bot Framework 管理门户注册并部署了一个功能(足够)的机器人。当我通过管理门户中的文本框对其进行测试时,它运行良好。现在我正在尝试在网页中添加网络聊天。
我已经进入并配置了网络聊天,现在,我只是使用 IFrame
它给我的硬编码秘密令牌。此外,我 select 那里的 "Enable this bot on Web Chat" 复选框。需要说明的是,我 在添加 iframe 和密码后重新部署了我的机器人。
当我完成后,"Web Chat" 独立于所有其他频道显示在上面,但是,已发布滑块滑到关闭。
当我使用 Web Chat iframe & secret 部署我的 bot 时,我得到了 Web Chat 控件,我可以在其中输入内容,但它从不响应我。不过,如果我在管理面板中测试我的机器人,它运行良好。
其他信息:
- 我使用自定义域和商业 SSL 在 Azure 中托管它
- 我的自定义域是三级域(即https://bot.mydomain.com)
- 网络聊天既不能在本地调试也不能在线使用
- Bot 模拟器在本地运行良好
- 如果我将 Bot Emulator 指向我在线部署的 bot,它会很好用
我是否需要执行任何其他操作才能在我的站点中嵌入功能性网络聊天控件?
服务出现临时问题,需要将 iframe 中的查询参数从 "s" 更改为 "t"。如果您进行了此更改,您应该切换回使用 "s".
发布 On/Off 确定该频道是否会在 Bot Directory 中列为可用。由于 Bot Directory 尚未发布,因此这些按钮被禁用。无论该设置如何,WebChat iframe 都应该工作。
我在使用 Bot Framework v3 时遇到了同样的问题,网络聊天没有响应,直到我在 Azure 上更新我的节点 app.js 并将 MicrosoftAppId 和 MicrosoftAppPassword 替换为 appID 和 appPassword,见下文。
var connector = new builder.ChatConnector({
//MicrosoftAppId: process.env.MICROSOFT_APP_ID,
//MicrosoftAppPassword: process.env.MICROSOFT_APP_PASSWORD
appId: process.env.MICROSOFT_APP_ID,
appPassword: process.env.MICROSOFT_APP_PASSWORD
});
此外,我不必将查询字符串从 "s" 更改为 "t",这个缺陷似乎已修复。
我已经通过 Bot Framework 管理门户注册并部署了一个功能(足够)的机器人。当我通过管理门户中的文本框对其进行测试时,它运行良好。现在我正在尝试在网页中添加网络聊天。
我已经进入并配置了网络聊天,现在,我只是使用 IFrame
它给我的硬编码秘密令牌。此外,我 select 那里的 "Enable this bot on Web Chat" 复选框。需要说明的是,我 在添加 iframe 和密码后重新部署了我的机器人。
当我完成后,"Web Chat" 独立于所有其他频道显示在上面,但是,已发布滑块滑到关闭。
当我使用 Web Chat iframe & secret 部署我的 bot 时,我得到了 Web Chat 控件,我可以在其中输入内容,但它从不响应我。不过,如果我在管理面板中测试我的机器人,它运行良好。
其他信息:
- 我使用自定义域和商业 SSL 在 Azure 中托管它
- 我的自定义域是三级域(即https://bot.mydomain.com)
- 网络聊天既不能在本地调试也不能在线使用
- Bot 模拟器在本地运行良好
- 如果我将 Bot Emulator 指向我在线部署的 bot,它会很好用
我是否需要执行任何其他操作才能在我的站点中嵌入功能性网络聊天控件?
服务出现临时问题,需要将 iframe 中的查询参数从 "s" 更改为 "t"。如果您进行了此更改,您应该切换回使用 "s".
发布 On/Off 确定该频道是否会在 Bot Directory 中列为可用。由于 Bot Directory 尚未发布,因此这些按钮被禁用。无论该设置如何,WebChat iframe 都应该工作。
我在使用 Bot Framework v3 时遇到了同样的问题,网络聊天没有响应,直到我在 Azure 上更新我的节点 app.js 并将 MicrosoftAppId 和 MicrosoftAppPassword 替换为 appID 和 appPassword,见下文。
var connector = new builder.ChatConnector({
//MicrosoftAppId: process.env.MICROSOFT_APP_ID,
//MicrosoftAppPassword: process.env.MICROSOFT_APP_PASSWORD
appId: process.env.MICROSOFT_APP_ID,
appPassword: process.env.MICROSOFT_APP_PASSWORD
});
此外,我不必将查询字符串从 "s" 更改为 "t",这个缺陷似乎已修复。