如何使用直线 API 将机器人集成到网站

Posted

技术标签:

【中文标题】如何使用直线 API 将机器人集成到网站【英文标题】:How to integrate bot to website using direct line API 【发布时间】:2018-11-07 00:55:40 【问题描述】:
<!DOCTYPE html>
<html>
  <head>
    <link href="https://cdn.botframework.com/botframework-webchat/latest/botchat.css" rel="stylesheet" />
  </head>
  <body>
    <div id="bot"/>
    <script src="https://cdn.botframework.com/botframework-webchat/latest/botchat.js"></script>
    <script>
      BotChat.App(
        directLine:  secret: direct_line_secret ,
        user:  id: 'userid' ,
        bot:  id: 'botid' ,
        resize: 'detect'
      , document.getElementById("bot"));
    </script>
  </body>
</html>

我在 github 上看到了这段代码,使用直线 API 将我的机器人集成到我的网站。我在 azure 上创建了一个直线通道并复制了直线密钥和我的 botid,但我不知道用户 ID 是什么。有人可以帮我吗?我已经将我的机器人作为应用托管在 azure 上

【问题讨论】:

【参考方案1】:

UserId 是会话中用户的唯一标识符,即使用此机器人实例的用户的 Id。

此 id 对用户不可见(如果您设置了它的名称),它用于识别特定数据 (UserData) 等资源,知道消息是来自机器人还是来自用户,以及许多其他事情。

您还可以设置此用户的name 属性,用于网络聊天显示:

user:  id: 'userid', name: 'Name of your user' ,

在某些频道上,此 id 的值由频道管理,在其他频道上,您可以设置它们,例如在 Webchat 中。我在 *** 上回复了这些 Id 生成here。

您可以在文档的这篇文章中了解 Bot Framework 上下文中的主要 ID:ID fields in the Bot Framework

【讨论】:

如果我删除它,机器人会被集成吗?我只是想把它集成到网站上。 您必须提供用户 ID。如果您不需要在此处添加特定内容,我的建议是为每个聊天用户生成不同的用户 ID,例如避免 userData 中的冲突。例如,您可以通过在 javascript 中生成随机值来做到这一点

以上是关于如何使用直线 API 将机器人集成到网站的主要内容,如果未能解决你的问题,请参考以下文章

如何从第三方 api 函数调用/访问 Angular 方法? (将 ApplePay 集成到 Angular 网站中)

如何将py文件中的机器学习算法集成到django网站?

如何将 OPENID auth 集成到 REST api 和前端框架架构中

如何将对话流与网站集成?

使用 JAVA/PHP 将 Netbanking 集成到网站(在印度)[关闭]

如何使用 Xcode Server 在集成后脚本中发送当前覆盖范围的请求?