Botframework 用户和Bot消息显示在聊天容器的同一侧

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:正

我建立了一个QnA制造商,并通过我的网站上的直接线路将其集成,用于造型

用户和机器人的消息出现在聊天容器的同一侧。我不明白为什么

这就是它目前的样子:

这是我正在使用的代码:


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>