【问题标题】:How can I have my bot start in a different dialog depending on user如何让我的机器人根据用户在不同的对话框中启动
【发布时间】:2017-12-07 01:54:42
【问题描述】:

基本上,我希望使用 iframe 和 Bot Framework 网络聊天将我的机器人放在不同的页面上。

根据用户打开机器人的页面,调用不同的对话框。

如果没有 Direct Line,这就像在 api/messages 中添加查询参数并调整控制器一样简单。但是使用 Direct Line,我只能在门户中指定一个端点。

我尝试将 JavaScript BotChat.App 调用中的 user.id 更改为不同的标识符,然后基于此在我的 MessagesController 中选择正确的对话框。 但是:我的自定义 ID 似乎在我发送欢迎消息的活动“ConversationUpdate”发生时不可用。不过,我需要发送特定于对话框的欢迎消息(因此我需要尽快导航到那里,而不仅仅是在用户键入他的第一条消息时)。

【问题讨论】:

    标签: c# botframework


    【解决方案1】:

    看看backchannel。在您的场景中,您可以通过后台通道从 Javascript 传递一个参数,以在 UserData 中设置一些值。现在,当您的用户第一次点击机器人时,您的参数将处于状态(在本例中为 IDataBag UserData)。

    这是一个 2-way backchannel 的 C# sample

    另一个C# sample 使用单向反向通道

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-23
      • 2020-07-28
      • 2020-05-04
      • 2017-03-05
      • 1970-01-01
      • 2019-12-21
      相关资源
      最近更新 更多