如何在Bot Framework v4中形成英雄卡轮播

阿鲁韦卢

这是我的下方数据,我需要对其进行解析并将其显示在卡轮播中。在bot框架v3中,我能够轻松做到这一点。但是在v4中,我很挣扎。

数据:

[ { number: 'INC0010798',
       short_description: 'laptop not working',
       sys_created_on: '2019-11-27 09:43:42',
       state: 'Assigned',
       category: null,
       subcategory: null,
       priority: '4 - Low' },
     { number: 'INC0010797',
       short_description: 'testing email',
       sys_created_on: '2019-11-27 09:13:55',
       state: 'Assigned',
       category: null,
       subcategory: null,
       priority: '5 - Planning' },
     { number: 'INC0010788',
       short_description: 'my laptop not working',
       sys_created_on: '2019-11-25 01:45:03',
       state: 'Assigned',
       category: null,
       subcategory: null,
       priority: '4 - Low' },
     { number: 'INC0010787',
       short_description: 'Destiny dental',
       sys_created_on: '2019-11-25 01:28:34',
       state: 'Assigned',
       category: null,
       subcategory: null,
       priority: '4 - Low' },
     { number: 'INC0010785',
       short_description: 'Testing it from console',
       sys_created_on: '2019-11-25 01:20:02',
       state: 'Assigned',
       category: null,
       subcategory: null,
       priority: '4 - Low' } ] }

我需要从每个对象中解析数字,short_Description和State并将其显示在botframework v4中的英雄卡轮播中。

任何人都可以给我结构来构成这个旋转木马。

更新:

我自己找到了解决方案:

const incData = [];

            for (var i = 0; i < getLastFiveIncidents.length; i++) {
                var incNumber = getLastFiveIncidents[i].number;
                console.log(getLastFiveIncidents[i].short_description);
                var message = 'Short_Description : ' + getLastFiveIncidents[i].short_description + '\r\n' + 'State: ' + getLastFiveIncidents[i].state + '\r\n' + 'Priority :' + getLastFiveIncidents[i].priority + '\r\n' + 'Created Date: ' + getLastFiveIncidents[i].sys_created_on;

                var dataToPush = CardFactory.heroCard(incNumber, message, ['https://www.usnews.com/dims4/USNEWS/65f1856/2147483647/thumbnail/970x647/quality/85/?url=http%3A%2F%2Fcom-usnews-beam-media.s3.amazonaws.com%2Fbe%2Fdd%2F8f25b4174b6398285139452fb7d5%2F190313-collegeapplication-stock.jpg']);
                incData.push(dataToPush);
            }
            const lastFiveINCMessage = MessageFactory.carousel(incData);
            return await stepContext.context.sendActivity(lastFiveINCMessage);

输出:

在此处输入图片说明

马克·阿斯玛

我将您的数据格式化为有效的json:

[ {    "number": "INC0010798",
   "short_description": "laptop not working",
   "sys_created_on": "2019-11-27 09:43:42",
   "state": "Assigned",
   "category": null,
   "subcategory": null,
   "priority": "4 - Low" },
 { "number": "INC0010797",
   "short_description": "testing email",
   "sys_created_on": "2019-11-27 09:13:55",
   "state": "Assigned",
   "category": null,
   "subcategory": null,
   "priority": "5 - Planning" },
 { "number": "INC0010788",
   "short_description": "my laptop not working",
   "sys_created_on": "2019-11-25 01:45:03",
   "state": "Assigned",
   "category": null,
   "subcategory": null,
   "priority": "4 - Low" },
 { "number": "INC0010787",
   "short_description": "Destiny dental",
   "sys_created_on": "2019-11-25 01:28:34",
   "state": "Assigned",
   "category": null,
   "subcategory": null,
   "priority": "4 - Low" },
 { "number": "INC0010785",
   "short_description": "Testing it from console",
   "sys_created_on": "2019-11-25 01:20:02",
   "state": "Assigned",
   "category": null,
   "subcategory": null,
   "priority": "4 - Low" } ] 

然后,我们可以将这些json转换为如下所示的类:

public class DataClass
{
    public Item[] Items { get; set; }
}

public class Item
{
    public string number { get; set; }
    public string short_description { get; set; }
    public string sys_created_on { get; set; }
    public string state { get; set; }
    public object category { get; set; }
    public object subcategory { get; set; }
    public string priority { get; set; }
}

之后,您将需要遍历以下数据,并动态创建英雄卡,请在下面查看如何执行此操作的示例:

   protected override async Task<DialogTurnResult> OnContinueDialogAsync(DialogContext innerDc, CancellationToken cancellationToken = default)
{

    DataClass requiredData = new DataClass();
    Activity replyToConversation = innerDc.Context.Activity.CreateReply();
    replyToConversation.AttachmentLayout = AttachmentLayoutTypes.Carousel;
    replyToConversation.Attachments = new List<Microsoft.Bot.Schema.Attachment>();
    foreach (var item in requiredData.Items)
    {
        List<CardAction> cardButtons = new List<CardAction>();
       // THIS IS AN EXAMPLE IF HOW YOU CAN ADD BUTTONS,
       // YOU CAN ALSO DYNAMICALLY CREATE THEM AND ADD THEM 
       CardAction button = new CardAction
        {
            Type = ActionTypes.OpenUrl,
            Value = "YOUR WEB URL",
            Title = "TITLE",
            Text = "TEXT",
            DisplayText = "DISPLAY TEXT"
        };
        cardButtons.Add(button); 

        List<CardImage> cardImages = new List<CardImage>
        {
            new CardImage(url: "YOUR IMAGE URL")
        };
        HeroCard heroCard = new HeroCard
        {
            //Buttons = cardButtons, // UNCOMMENT IF YOU WANT TO ADD BUTTONS 
            Title = item.number,
            Subtitle = item.short_description + item.state,
            //Images = cardImages, // UNCOMMENT IF YOU WANT TO ADD IMAGE
        };
        Microsoft.Bot.Schema.Attachment Attachment = heroCard.ToAttachment();
        replyToConversation.Attachments.Add(Attachment);
    }
    await innerDc.Context.SendActivityAsync(replyToConversation);

}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Bot Framework v4中,如何使用评论框和提交按钮实施评分卡

来自分类Dev

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

来自分类Dev

如何在Microsoft Bot Framework + C#中安排任务?

来自分类Dev

如何在Microsoft Bot Framework中给出延迟的响应

来自分类Dev

如何在bot-framework-composer中定义当前时间?

来自分类Dev

如何在Microsoft Bot Framework + C#中安排任务?

来自分类Dev

AdaptiveCard Bot Framework V4 中的日语字符

来自分类Dev

如何在使用C#BOT Framework SDK V4构建的瀑布对话框中调用AZURE DEVOPS rest API?

来自分类Dev

Bot Framework v4 - 打开 2 个选项卡时出现 IndexOutOfRangeException

来自分类Dev

如何在Bot Framework Channel Emulator v3的控制台版本中重置凭据?

来自分类Dev

如何在 ionic framework v4 和 Angular 7 中调整图标大小

来自分类Dev

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

来自分类Dev

如何使用 Bot Framework V4 C# SDK 在 Teams 中迁移 1:1 主动消息功能

来自分类Dev

如何在Microsoft Bot Framework LuisIntent方法中获取原始消息文本

来自分类Dev

如何在确认提示(Microsoft Bot Framework)中添加对其他语言的支持?

来自分类Dev

如何在 Microsoft Bot Framework 中检索 AdaptiveCard 发布的表单数据?

来自分类Dev

Bot Framework:如何在 Node.js SDK 中创建菜单?

来自分类Dev

如何使用 SQL 保存 ConversationState 和 UserState Bot Framework v4

来自分类Dev

Bot Framework V4依赖项注入无效

来自分类Dev

使用 Bot Framework C# v4 的动态提示

来自分类Dev

在 Microsoft Bot Framework 的 sdk v4 中使用 FormDialog

来自分类Dev

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

来自分类Dev

Bot框架v4中如何在OnturnAsync中响应任务/获取

来自分类Dev

在瀑布对话框上接受附件并将其本地存储在bot Framework v4中

来自分类Dev

Bot Framework v4 Bot 模拟器身份验证错误请求

来自分类Dev

如何在Ionic Framework中隐藏选项卡

来自分类Dev

如何在Java中使用Microsoft Bot Framework渲染降价?

来自分类Dev

如何在Microsoft Bot Framework中使用全局命令?

来自分类Dev

如何在 CentOS 上运行 Microsoft Bot Framework

Related 相关文章

  1. 1

    在Bot Framework v4中,如何使用评论框和提交按钮实施评分卡

  2. 2

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

  3. 3

    如何在Microsoft Bot Framework + C#中安排任务?

  4. 4

    如何在Microsoft Bot Framework中给出延迟的响应

  5. 5

    如何在bot-framework-composer中定义当前时间?

  6. 6

    如何在Microsoft Bot Framework + C#中安排任务?

  7. 7

    AdaptiveCard Bot Framework V4 中的日语字符

  8. 8

    如何在使用C#BOT Framework SDK V4构建的瀑布对话框中调用AZURE DEVOPS rest API?

  9. 9

    Bot Framework v4 - 打开 2 个选项卡时出现 IndexOutOfRangeException

  10. 10

    如何在Bot Framework Channel Emulator v3的控制台版本中重置凭据?

  11. 11

    如何在 ionic framework v4 和 Angular 7 中调整图标大小

  12. 12

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

  13. 13

    如何使用 Bot Framework V4 C# SDK 在 Teams 中迁移 1:1 主动消息功能

  14. 14

    如何在Microsoft Bot Framework LuisIntent方法中获取原始消息文本

  15. 15

    如何在确认提示(Microsoft Bot Framework)中添加对其他语言的支持?

  16. 16

    如何在 Microsoft Bot Framework 中检索 AdaptiveCard 发布的表单数据?

  17. 17

    Bot Framework:如何在 Node.js SDK 中创建菜单?

  18. 18

    如何使用 SQL 保存 ConversationState 和 UserState Bot Framework v4

  19. 19

    Bot Framework V4依赖项注入无效

  20. 20

    使用 Bot Framework C# v4 的动态提示

  21. 21

    在 Microsoft Bot Framework 的 sdk v4 中使用 FormDialog

  22. 22

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

  23. 23

    Bot框架v4中如何在OnturnAsync中响应任务/获取

  24. 24

    在瀑布对话框上接受附件并将其本地存储在bot Framework v4中

  25. 25

    Bot Framework v4 Bot 模拟器身份验证错误请求

  26. 26

    如何在Ionic Framework中隐藏选项卡

  27. 27

    如何在Java中使用Microsoft Bot Framework渲染降价?

  28. 28

    如何在Microsoft Bot Framework中使用全局命令?

  29. 29

    如何在 CentOS 上运行 Microsoft Bot Framework

热门标签

归档