基本上,我想使用iframe和Bot Framework Web Chat在不同页面上安装我的机器人。
根据用户打开机器人的页面,将调用另一个对话框。
如果没有Direct Line,这就像向api / messages添加查询参数和调整控制器一样简单。但是使用Direct Line,我只能在门户网站中指定一个端点。
我尝试将JavaScript BotChat.App调用中的user.id更改为其他标识符,然后在我的MessagesController中根据它选择正确的对话框。 但是:我的自定义ID似乎不早于活动" ConversationUpdate"在我发送欢迎信息的地方发生。我需要发送一个特定于对话框的欢迎消息(所以我需要尽快在那里导航,而不仅仅是当用户输入他的第一条消息时)。
答案 0 :(得分:2)
看看backchannel。在您的方案中,您可以通过后向通道从Javascript传递参数,以在UserData
中设置一些值。现在,当您的用户第一次点击机器人时,您的参数将以状态存在(在本例中为IDataBag UserData
)。
以下是双向反向通道的C# sample
另一个C# sample使用单向反向通道