C# 如何在OpenUrl卡操作中回复消息?
我正在发送一个带有openURL的cardAction,其中用户应该单击按钮,按照所述URL中的说明进行操作,然后报告数据。我想在用户点击按钮时显示一条消息,也就是打开URL时 根据我的测试,我只能使用ImBack或OpenUrl。有没有一种方法可以同时做到这两个方面C# 如何在OpenUrl卡操作中回复消息?,c#,botframework,C#,Botframework,我正在发送一个带有openURL的cardAction,其中用户应该单击按钮,按照所述URL中的说明进行操作,然后报告数据。我想在用户点击按钮时显示一条消息,也就是打开URL时 根据我的测试,我只能使用ImBack或OpenUrl。有没有一种方法可以同时做到这两个方面 var卡=新信号卡() { 按钮=新列表() { 新行动 { Title=“打开URL”, Type=ActionTypes.OpenUrl, Value=this.myURL, DisplayText=“我想在打开我的URL时显
var卡=新信号卡()
{
按钮=新列表()
{
新行动
{
Title=“打开URL”,
Type=ActionTypes.OpenUrl,
Value=this.myURL,
DisplayText=“我想在打开我的URL时显示文本,但此文本不显示”,
},
新行动
{
Title=“返回消息”,
Type=ActionTypes.ImBack,
Value=“MessageBackButtonClicked”,
},
},
};
不幸的是,每个频道都负责处理用户操作,大多数频道不会在用户单击链接时通知您。但是,在Web聊天中,当用户单击打开的URL操作时,您可以使用卡操作中间件发送反向通道事件。注意,这只适用于网络聊天,而不适用于任何其他频道
机器人框架网络聊天v4
const cardActionMiddleware = ({ dispatch }) => next => action => {
const { cardAction: { type, value } } = action;
if (type === 'openUrl') {
dispatch({
type: 'WEB_CHAT/SEND_EVENT',
payload: {
name: 'webchat/urlClickedEvent',
value: `Navigating to ${value}`
}
});
}
return next(action);
}
window.WebChat.renderWebChat({
cardActionMiddleware,
directLine,
}, document.getElementById('webchat'));
希望这有帮助 您使用的是哪个频道?@tdurnford我主要在模拟器上测试。目标是让它在webchat和directline(还有facebook,但我希望fb的处理方式完全不同)上工作,这确实有帮助!对webchat来说已经足够好了。我将探索其他特定渠道的方法来实现相同的目标。谢谢有没有办法获取具有url值的按钮的标题?