为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 OpenUrl 卡操作中回复消息?

如何在 OpenUrl 卡操作中回复消息?

C#
aluckdog 2023-08-20 15:53:08
我正在发送带有 openURL 的 cardAction,用户应该单击该按钮,按照所述 URL 中的说明进行操作,然后报告数据。我希望在用户单击按钮时(也就是打开 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",        },    },};
查看完整描述

1 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

不幸的是,每个渠道都负责处理用户操作,并且大多数渠道不会在用户单击链接时通知您。但是,在 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'));

希望这可以帮助!


查看完整回答
反对 回复 2023-08-20
  • 1 回答
  • 0 关注
  • 110 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信