Botframework 用户和Bot消息显示在聊天容器的同一侧
我建立了一个QnA制造商,并通过我的网站上的直接线路将其集成,用于造型 用户和机器人的消息出现在聊天容器的同一侧。我不明白为什么 这就是它目前的样子: 这是我正在使用的代码:Botframework 用户和Bot消息显示在聊天容器的同一侧,botframework,azure-bot-service,direct-line-botframework,Botframework,Azure Bot Service,Direct Line Botframework,我建立了一个QnA制造商,并通过我的网站上的直接线路将其集成,用于造型 用户和机器人的消息出现在聊天容器的同一侧。我不明白为什么 这就是它目前的样子: 这是我正在使用的代码: const styleSet=window.WebChat.createStyleSet({ bubbleFromUserBackground:'rgba(227227227.1)', hideUploadButton:是的, botAvatarInitials:'WD', sendTypingIndicator:正
const styleSet=window.WebChat.createStyleSet({
bubbleFromUserBackground:'rgba(227227227.1)',
hideUploadButton:是的,
botAvatarInitials:'WD',
sendTypingIndicator:正确,
UserAvatariInitials:'你
});
styleSet.textContent=Object.assign(
{},
styleSet.textContent,
{
fontFamily:“\'Lato\”,无衬线'
}
);
window.WebChat.renderWebChat(
{
directLine:window.WebChat.createDirectLine({
令牌:“xxxxxx”
}),
样式集,
用户ID:'qna主页机器人',
用户名:“网络聊天用户”,
地点:“en US”,
},
document.getElementById('webchat')
);
document.querySelector(“#webchat>*”).focus();
我无法复制此内容,但我怀疑您正在将用户ID设置为与机器人ID相同的值。当Web聊天收到活动时,它会根据ID在活动的“发件人”属性中设置角色属性(您可以查看源代码)。然后,Web Chat使用该角色确定活动的样式。如果机器人id等于用户id,Web聊天将混淆角色属性并应用错误的CSS样式。尝试将渲染Web聊天选项中的userID
值更改为其他值
注意,userID
值对于每个用户都应该是唯一的;否则,每个会话将共享相同的用户状态
希望这有帮助 SchweerMarking将解决方案标记为已接受,为更大的堆栈溢出社区和任何有类似问题的人服务。如果你觉得我的回答足够,请“接受”它。如果没有,让我知道我还能提供什么帮助!设置用户ID的最佳实践是什么?我们正在讨论的机器人是一个公共可用的qna机器人,因此我无法访问任何唯一的用户ID。如果所有用户都获得相同的用户ID,这真的是一个问题吗?没有启用基于上下文的消息。如果您没有将
用户ID
作为道具传递,Web Chat应该为您生成一条。如果您没有在bot端设置和保存状态,那么重复的ID并不是一件坏事。
<script>
const styleSet = window.WebChat.createStyleSet({
bubbleFromUserBackground: 'rgba(227, 227, 227, .1)',
hideUploadButton: true,
botAvatarInitials: 'WD',
sendTypingIndicator: true,
userAvatarInitials: 'you'
});
styleSet.textContent = Object.assign(
{},
styleSet.textContent,
{
fontFamily: '\'Lato\', sans-serif'
}
);
window.WebChat.renderWebChat(
{
directLine: window.WebChat.createDirectLine({
token: 'xxxxxx'
}),
styleSet,
userID: 'qna-homepage-bot',
username: 'Web Chat User',
locale: 'en-US',
},
document.getElementById('webchat')
);
document.querySelector('#webchat > *').focus();
</script>