我正在发送带有 openURL 的 cardAction,用户应该单击该按钮,按照所述 URL 中的说明进行操作,然后报告数据。我想要显示一条消息when用户单击按钮,同时打开 URL。
根据我的测试,我只能选择 ImBack 或 OpenUrl。有没有办法在一个 CardAction 中同时完成这两项操作?
var card = new SigninCard()
{
Buttons = new List<CardAction>()
{
new CardAction()
{
Title = "Open a URL",
Type = ActionTypes.OpenUrl,
Value = this.myURL,
DisplayText = "I want to show text when I open myURL but this text doesn't show",
},
new CardAction()
{
Title = "Message Back",
Type = ActionTypes.ImBack,
Value = "MessageBackButtonClicked",
},
},
};
不幸的是,每个渠道都负责处理用户操作,并且大多数渠道不会在用户单击链接时通知您。但是,在 Web 聊天中,您可以使用卡片操作中间件在用户单击打开 URL 操作时调度反向通道事件。请注意,这仅适用于网络聊天,不适用于任何其他渠道。
Bot 框架网络聊天 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'));
希望这可以帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)