Javascript 如何在RASA chatbot中从基于java脚本的web浏览器获取用户登录详细信息

Javascript 如何在RASA chatbot中从基于java脚本的web浏览器获取用户登录详细信息,javascript,python,angularjs,chatbot,rasa,Javascript,Python,Angularjs,Chatbot,Rasa,Webbot集成在基于javascript的网站中,当用户登录网站时,他们可以访问聊天机器人图标 当他们打开它时,聊天机器人启动,但目前它不收集用户数据。 但是,现在用户数据很重要,因为我们希望进一步调用基于用户id的操作 如果我们能够知道用户id,那么我们可以从bot向用户发送特定的查询 如果用户是美国用户,则bot应仅回复美国地区的数据,但如果用户是亚太地区用户,则bot应仅从后端提供他/她的亚太地区数据 我们有nlu.md、stories.md和domain.yml文件,还有actions

Webbot集成在基于javascript的网站中,当用户登录网站时,他们可以访问聊天机器人图标

当他们打开它时,聊天机器人启动,但目前它不收集用户数据。 但是,现在用户数据很重要,因为我们希望进一步调用基于用户id的操作

如果我们能够知道用户id,那么我们可以从bot向用户发送特定的查询

如果用户是美国用户,则bot应仅回复美国地区的数据,但如果用户是亚太地区用户,则bot应仅从后端提供他/她的亚太地区数据

我们有nlu.md、stories.md和domain.yml文件,还有actions.py文件,用于处理对后端的API调用。
请提供帮助。

我假设您正在使用小部件:有一种方法可以使用
customData
(对于每个请求)和/或
initPayload
(仅当对话开始时)参数将一些自定义数据从浏览器传递到Rasa服务器

 <script>
   WebChat.default.init({
    selector: "#webchat",
    initPayload: "/get_started",
    customData: {"userId": "1"}, 
    socketUrl: "http://localhost:5500",
    socketPath: "/socket.io/",
    title: "Title",
    subtitle: "Subtitle",
  })

WebChat.default.init({
选择器:“#网络帽”,
initPayload:“/get_started”,
customData:{“userId”:“1”},
socketUrl:“http://localhost:5500",
socketPath:“/socket.io/”,
标题:“标题”,
副标题:“副标题”,
})

小部件还提供了一个API来发送消息(
WebChat.send
),以防您需要灵活地决定何时向Rasa后端发送有效负载