C# 与其他Web浏览器通信的Web聊天
我已经构建并发布了一个机器人程序(使用微软机器人程序框架,LUIS和C#)。 我能够使用网络聊天并与我的机器人(在网络浏览器中)通信 我想做的是:C# 与其他Web浏览器通信的Web聊天,c#,botframework,azure-language-understanding,C#,Botframework,Azure Language Understanding,我已经构建并发布了一个机器人程序(使用微软机器人程序框架,LUIS和C#)。 我能够使用网络聊天并与我的机器人(在网络浏览器中)通信 我想做的是: 让托管我的机器人的浏览器在另一个浏览器中驱动UI 例如,用户在网络聊天中键入“向我展示所有低于100美元的产品” 这将更改第二个浏览器的UI以显示相关结果 我将如何实现这一目标? (此时不太担心安全问题) 提前非常感谢您的时间和投入。您可以做的一件事是在对话中使用带有按钮的卡片作为确认步骤。这可能是实现你想要的最简单的方法。默认情况下,这将打开一
- 让托管我的机器人的浏览器在另一个浏览器中驱动UI
例如,用户在网络聊天中键入
这将更改第二个浏览器的UI以显示相关结果“向我展示所有低于100美元的产品”
提前非常感谢您的时间和投入。您可以做的一件事是在对话中使用带有按钮的卡片作为确认步骤。这可能是实现你想要的最简单的方法。默认情况下,这将打开一个新选项卡,您可以在其中设置URL。所以当你的用户说“给我看玉米片”时,你可以过滤你的库存,只显示玉米片。下面是使用C中的
OpenUrl
ActionType
的示例代码#
var reply=activity.CreateReply();
HeroCard h=新的HeroCard();
h、 Text=“你想看玉米片吗”;
h、 按钮=新列表
{
新的CardAction(ActionTypes.OpenUrl,“给玉米片”,值:https://www.google.com/search?q=nachos&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjxqpycnrLWAhVG82MKHUcTA60Q_AUICigB&biw=1280&bih=670"),
新建CardAction(ActionTypes.OpenUrl,“否,我想要tacos”,值:https://www.google.com/search?biw=1280&bih=670&tbm=isch&sa=1&q=tacos&oq=tacos&gs_l=psy-ab.3..0i67k1j0j0i67k1j0.69031.69942.0.71274.5.5.0.0.0.149.392.2j2.4.0…0…1.1.64.psy-ab..1.4.392…0.bPBCuHv9Edk”)
};
var aList=新列表();
aList.Add(h.ToAttachment());
答复.附件=清单;
等待上下文。PostAsync(回复);
谢谢你Ezequiel Jadib。这个链接让我找到了,它解决了我的问题。谢谢JasonSowers给我的时间。对不起,这不是我想要的。我发现答案是有记号的。
var reply = activity.CreateReply();
HeroCard h = new HeroCard();
h.Text = "Would you like to see nachos";
h.Buttons = new List<CardAction>
{
new CardAction(ActionTypes.OpenUrl, "Give Nachos", value: "https://www.google.com/search?q=nachos&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjxqpycnrLWAhVG82MKHUcTA60Q_AUICigB&biw=1280&bih=670"),
new CardAction(ActionTypes.OpenUrl, "No, I want tacos", value: "https://www.google.com/search?biw=1280&bih=670&tbm=isch&sa=1&q=tacos&oq=tacos&gs_l=psy-ab.3..0i67k1j0j0i67k1j0.69031.69942.0.71274.5.5.0.0.0.0.149.392.2j2.4.0....0...1.1.64.psy-ab..1.4.392....0.bPBCuHv9Edk")
};
var aList = new List<Attachment>();
aList.Add(h.ToAttachment());
reply.Attachments = aList;
await context.PostAsync(reply);