Microsoft Bot Framework无法从Webchat UI中获取机器人中传递的用户名

时间:2019-05-22 06:26:59

标签: botframework bots

我正在使用以下最新版本的网络聊天 ``

<!DOCTYPE html>
<html>
  <style>
html, body { height: 100% }
 body { margin: 0 }

 #webchat {
   height: 100%;
   width: 100%;
 }
</style>
  <body>
    <div id="webchat" role="main"></div>
    <script src="https://cdn.botframework.com/botframework-webchat/master/webchat.js"></script>
    <script>
      window.WebChat.renderWebChat({
        directLine: window.WebChat.createDirectLine({ token: 'MY_TOKEN_FROM_AZURE' }),
        userID: '1234',
        username: 'Chinni',
        locale: 'en-US',
        botAvatarInitials: 'WC',
        userAvatarInitials: 'WW'
      }, document.getElementById('webchat'));
    </script>
  </body>
</html>

``

我从renderwebchat()发送了一个用户名,但机器人无法访问该用户名

await turnContext.SendActivityAsync(MessageFactory.Text(turnContext.Activity.From.Name), cancellationToken);

在网络聊天中,输出为null。有人可以帮我吗 谢谢!

1 个答案:

答案 0 :(得分:0)

您可能在实现中的某个地方犯了一个错误,因为我确认它可以正常工作。如您所见,我有可用的值:

Demo

在机器人方面,这是我发送这些消息的方式:

await turnContext.SendActivityAsync(JsonConvert.SerializeObject(turnContext.Activity));
await turnContext.SendActivityAsync($"Value of 'turnContext.Activity.From.Id': '{turnContext.Activity.From.Id}', 'turnContext.Activity.From.Name': '{turnContext.Activity.From.Name}'");

在网聊演示页面上,我使用了与您相同的代码(除了我使用了自己的令牌)