【发布时间】:2019-09-19 08:24:50
【问题描述】:
我有 2 个带有 WebChat 的 HTML。尝试从一个 WebChat 聊天到另一个 WebChat 时,消息显示在同一侧,类似于:
我读到您必须在网络聊天中输入userID,但这并没有帮助。有人对如何修复它有建议吗?
这是一个网络聊天:
<div id="WebChatWindowTest" role="main">
<script src="https://cdn.botframework.com/botframework-webchat/latest/webchat.js"></script>
<script>
const styleOptions = {
rootHeight: '450px',
rootWidth: '100%',
bubbleBackground: 'rgba(0, 0, 255, .1)',
bubbleFromUserBackground: 'rgba(0, 255, 0, .1)',
hideUploadButton: true,
};
window.WebChat.renderWebChat(
{
directLine: window.WebChat.createDirectLine({
token: '' + loginToken
}),
userID: 'MyOtherID',
username: 'MyOtherName',
styleOptions
},
document.getElementById('WebChatWindowTest')
);
</script>
</div>
这是第二个网络聊天:
<div id="WebChatWindow" role="main">
<script src="https://cdn.botframework.com/botframework-webchat/latest/webchat.js"></script>
<script>
const styleOptions = {
rootHeight: '450px',
rootWidth: '100%',
bubbleBackground: 'rgba(0, 0, 255, .1)',
bubbleFromUserBackground: 'rgba(0, 255, 0, .1)',
hideUploadButton: true
};
window.WebChat.renderWebChat(
{
directLine: window.WebChat.createDirectLine({
secret: token
}),
userID: 'MyID',
username: 'MyName',
styleOptions
},
document.getElementById('WebChatWindow')
);
</script>
</div>
两个 HTML 的 Token 相同。
【问题讨论】:
-
我假设你已经看过这个 Stack Overflow question?你的机器人 id 是什么,你用什么作为用户 id?您是否尝试过从
renderWebChat选项中删除用户 ID?您是在令牌请求中添加 id 还是仅使用网络聊天密码?您是否使用移交中间件在用户之间转发消息? -
在 HTML 中,机器人 id 看起来类似于“MyBotName@T7I8paygF0Q”。一个 HTML 中的用户 ID 是“MyID”,另一个是“MyOtherID”。当我从“renderWebChat”中删除用户 ID 时,用户 ID 看起来类似于“r_1568903975”。我没有在我的令牌中添加 id。我生成带有 POST 到“directline.botframework.com/v3/directline/tokens/generate”的令牌。我不使用中间件。
-
您如何将活动从一个对话发送到另一个对话?
-
两个 HTML 的标记是相同的。它并不是真正将消息从一个对话发送到另一个对话。这更像是向一个对话发送消息,而我猜这两个 HTML 都在看同一个聊天。我对这个不好,应该提到它。
-
您希望机器人管理对话,还是希望所有内容都在您的单个网页中流动?
标签: azure botframework azure-bot-service direct-line-botframework web-chat