MS BOT Framework(自适应卡):如何从直接线发送值(Stepcontext.Value)

克里希纳S

我已经在Azure中部署了Bot,Bot显示欢迎消息OnMemberAdd。它的自适应卡,因此将输入的值发送到stepcontext.value。我已将其与多个渠道集成在一起,对于直接线路,我想绕过欢迎卡并将消息直接传递给stepcontext.value,以便显示第二个提示而不是第一个提示。我已经尝试了以下方法,但是它不起作用,请帮忙。

<!DOCTYPE html>
<html lang="en-US">
  <head>
    <title>Web Chat: Send welcome event</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <script src="https://cdn.botframework.com/botframework-webchat/latest/webchat.js"></script>
    <style>
      html,
      body {
        height: 100%;
      }
      body {
        margin: 0;
      }

      #webchat {
        height: 100%;
        width: 100%;
      }
    </style>
  </head>
  <body>
    <div id="webchat"></div>
    <script>
      (async function() {
        // In this demo, we are using Direct Line token from MockBot.
        // Your client code must provide either a secret or a token to talk to your bot.
        // Tokens are more secure. To learn about the differences between secrets and tokens
        // and to understand the risks associated with using secrets, visit https://docs.microsoft.com/en-us/azure/bot-service/rest-api/bot-framework-rest-direct-line-3-0-authentication?view=azure-bot-service-4.0

        const { token } = { token};

        // We are using a customized store to add hooks to connect event
        const store = window.WebChat.createStore({}, ({ dispatch }) => next => action => {
 if (action.type === 'DIRECT_LINE/CONNECT_FULFILLED') {
   dispatch({
     type: 'WEB_CHAT/SEND_EVENT',
     payload: { 
                name: 'userInfo',
       value: { fname:'user', lname:'test', pnumber:'0678775453'} 
                }
   });
 }

 return next(action);
        });

        const styleOptions = {
 botAvatarImage:
   '',
 botAvatarInitials: 'Chatbot',
 userAvatarImage: '',
 userAvatarInitials: 'User',
 showNub: true,
 bubbleFromUserNubOffset: 'bottom',
 bubbleFromUserNubSize: 10,
 bubbleFromUserBorderColor: '#0077CC',
 bubbleNubOffset: 'top',
 bubbleNubSize: 0,
 bubbleBorderColor: '#009900',
 sendBoxButtonColor: '#009900',
 hideUploadButton: true,
 hideSendBox : true
        };
        window.WebChat.renderWebChat(
 {
   directLine: window.WebChat.createDirectLine({ token }),
   store,
            styleOptions
 },
 document.getElementById('webchat')
        );

        document.querySelector('#webchat > *').focus();
      })().catch(err => console.error(err));
    </script>
  </body>
</html>

我试图通过邮递员发送数据,并且效果很好,但是当我使用上面的代码进行操作时,它不起作用。

邮递员的身体

{
    "type": "message",
    "from": {
        "id": "user1"
    },
    "value": 
    {
        "fname":"user",
        "lname":"test",
        "pnumber":"0678787543"
    }
}
里奇森

你好亲密!您有两种选择:

  1. 更改为WEB_CHAT/SEND_EVENT并包含该name属性:
const store = window.WebChat.createStore({}, ({ dispatch }) => next => action => {
          if (action.type === 'DIRECT_LINE/CONNECT_FULFILLED') {
            dispatch({
              type: 'WEB_CHAT/SEND_EVENT',
              payload: {
                name: 'userInfo',
                value: { fname:'user', lname:'test', pnumber:'0678775453'}
              }
            });
          }

          return next(action);
        });
  1. 使用WEB_CHAT/SEND_MESSAGE,包括text属性,然后更改为channelData
const store = window.WebChat.createStore({}, ({ dispatch }) => next => action => {
          if (action.type === 'DIRECT_LINE/CONNECT_FULFILLED') {
            dispatch({
              type: 'WEB_CHAT/SEND_MESSAGE',
              payload: {
                text: 'userInfo',
                channelData: { fname:'user', lname:'test', pnumber:'0678775453'}
              }
            });
          }

          return next(action);
        });

===

更新资料

使用您的代码,我可以很好地看到它。onTurn/中放置一个断点,OnTurnAsync您会看到当用户连接时您会得到:

  1. 机器人的对话更新
  2. 用户的对话更新
  3. WebChat的事件以及所需的用户数据:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在提交操作时编辑MS Bot Framework自适应卡

来自分类Dev

MS Bot Framework nodejs sdk:在自适应卡中显示长文本

来自分类Dev

如何在Bot框架中为MS团队垂直堆叠自适应卡中的按钮

来自分类Dev

MS Teams Bot Framework:本地化的自适应卡输入日期格式问题不同于英语

来自分类Dev

如何在MS Teams bot框架中使用滚动式自适应卡(如WhoBot)构建可搜索列表

来自分类Dev

无法使用 Bot Framework SDK v4 在 MS Teams 中呈现自适应卡片

来自分类Dev

Node.js:如何使用MS Bot Framework在Slack中发送直接消息?

来自分类Dev

如何实现 Azure bot 自适应卡?

来自分类Dev

如何更新已经从BOT发送给用户的自适应卡?

来自分类Dev

MS Bot Framework 发送 EventActivity 服务器端

来自分类Dev

我想知道如何使用Bot Framework SDK for python来设置自适应卡的主机配置

来自分类Dev

下拉自适应卡-BOT框架

来自分类Dev

使用ms bot从byte []发送图像,频道:Facebook,C#

来自分类Dev

使用MS Bot Framework的TelegramBot中的自定义键盘

来自分类Dev

如何将MS botframework bot连接到Skype for Business

来自分类Dev

如何在MS Bot框架中保留对话数据

来自分类Dev

如何将MS Bot添加到Slack?

来自分类Dev

如何通过 MS Bot 使用数据库中的数据

来自分类Dev

如何扩展 MS Health Bot 现有场景?

来自分类Dev

如何使用C#中的Microsoft Bot Framework SDK V4开发的ChatBot中的自适应卡添加条件?

来自分类Dev

向MS Teams Channel发送主动式自适应卡消息

来自分类Dev

MS Bot Framework(Nodejs):如何更改“提示”对话框的语言?

来自分类Dev

MS Bot Framework,如何在Skype上对用户进行地理定位

来自分类Dev

MS Bot Framework(Nodejs):会话生存期和延迟的消息

来自分类Dev

MS团队| Microsoft Bot Framework-在任务/提取上返回502错误

来自分类Dev

Bot不收集赠品持续时间,值错误(discord-giveaways | ms)

来自分类Dev

如何使用MS bot框架在bot中创建多个对话框,以便bot记住正在进行的对话框

来自分类Dev

在团队中进行测试时,Bot Framework stepContext.context.activity.value将成为一个空对象

来自分类Dev

如何从MS bot框架的IDialog.StartAsync()内部发布丰富的内容

Related 相关文章

  1. 1

    如何在提交操作时编辑MS Bot Framework自适应卡

  2. 2

    MS Bot Framework nodejs sdk:在自适应卡中显示长文本

  3. 3

    如何在Bot框架中为MS团队垂直堆叠自适应卡中的按钮

  4. 4

    MS Teams Bot Framework:本地化的自适应卡输入日期格式问题不同于英语

  5. 5

    如何在MS Teams bot框架中使用滚动式自适应卡(如WhoBot)构建可搜索列表

  6. 6

    无法使用 Bot Framework SDK v4 在 MS Teams 中呈现自适应卡片

  7. 7

    Node.js:如何使用MS Bot Framework在Slack中发送直接消息?

  8. 8

    如何实现 Azure bot 自适应卡?

  9. 9

    如何更新已经从BOT发送给用户的自适应卡?

  10. 10

    MS Bot Framework 发送 EventActivity 服务器端

  11. 11

    我想知道如何使用Bot Framework SDK for python来设置自适应卡的主机配置

  12. 12

    下拉自适应卡-BOT框架

  13. 13

    使用ms bot从byte []发送图像,频道:Facebook,C#

  14. 14

    使用MS Bot Framework的TelegramBot中的自定义键盘

  15. 15

    如何将MS botframework bot连接到Skype for Business

  16. 16

    如何在MS Bot框架中保留对话数据

  17. 17

    如何将MS Bot添加到Slack?

  18. 18

    如何通过 MS Bot 使用数据库中的数据

  19. 19

    如何扩展 MS Health Bot 现有场景?

  20. 20

    如何使用C#中的Microsoft Bot Framework SDK V4开发的ChatBot中的自适应卡添加条件?

  21. 21

    向MS Teams Channel发送主动式自适应卡消息

  22. 22

    MS Bot Framework(Nodejs):如何更改“提示”对话框的语言?

  23. 23

    MS Bot Framework,如何在Skype上对用户进行地理定位

  24. 24

    MS Bot Framework(Nodejs):会话生存期和延迟的消息

  25. 25

    MS团队| Microsoft Bot Framework-在任务/提取上返回502错误

  26. 26

    Bot不收集赠品持续时间,值错误(discord-giveaways | ms)

  27. 27

    如何使用MS bot框架在bot中创建多个对话框,以便bot记住正在进行的对话框

  28. 28

    在团队中进行测试时,Bot Framework stepContext.context.activity.value将成为一个空对象

  29. 29

    如何从MS bot框架的IDialog.StartAsync()内部发布丰富的内容

热门标签

归档