Telegram有办法用Bot Framework显示轮播吗?

时间:2017-02-27 12:46:31

标签: c# botframework telegram

我正在开发一个使用Microsoft Bot Framework的机器人,在Facebook Messenger上,轮播显示应该如此,但在Telegram中,它在两个不同的消息上显示为2个不同的卡。

电报不支持轮播,还是我的错?

代码:

    public async Task Carousel(IDialogContext context, IAwaitable<IMessageActivity> activity)
    {
        var act = await activity;
        //carousel
        var replyToConversation = context.MakeMessage();
        replyToConversation.Text = "2+ Cards are a Carousel";
        replyToConversation.Recipient = message.From;
        replyToConversation.Type = "message";
        replyToConversation.Attachments = new List<Attachment>();
        //1
        List<CardImage> cardImages = new List<CardImage>();
        cardImages.Add(new CardImage(url: "https://upload.wikimedia.org/wikipedia/commons/thumb/c/c0/Asimo_look_new_design.jpg/330px-Asimo_look_new_design.jpg"));
        List<CardAction> cardButtons = new List<CardAction>();
        CardAction plButton = new CardAction()
        {
            Value = "https://en.wikipedia.org/wiki/Robot",
            Type = "openUrl",
            Title = "WikiPedia Page"
        };
        cardButtons.Add(plButton);
        HeroCard plCard = new HeroCard()
        {
            Title = "I'm a hero card",
            Subtitle = "Robot Wikipedia Page",
            Images = cardImages,
            Buttons = cardButtons
        };
        Attachment plAttachment = plCard.ToAttachment();
        replyToConversation.Attachments.Add(plAttachment);
        //2
        List<CardImage> cardImages2 = new List<CardImage>();
        cardImages2.Add(new CardImage(url: "https://upload.wikimedia.org/wikipedia/en/thumb/9/9b/FANUC_6-axis_welding_robots.jpg/330px-FANUC_6-axis_welding_robots.jpg"));
        List<CardAction> cardButtons2 = new List<CardAction>();
        CardAction plButton2 = new CardAction()
        {
            Value = "https://en.wikipedia.org/wiki/Robot",
            Type = "openUrl",
            Title = "WikiPedia Page"
        };
        cardButtons2.Add(plButton);
        HeroCard plCard2 = new HeroCard()
        {
            Title = "I'm a hero card",
            Subtitle = "Robot Wikipedia Page",
            Images = cardImages2,
            Buttons = cardButtons2
        };
        Attachment plAttachment2 = plCard2.ToAttachment();
        replyToConversation.AttachmentLayout = AttachmentLayoutTypes.Carousel;
        replyToConversation.Attachments.Add(plAttachment2);
        await context.PostAsync(replyToConversation);
    }

1 个答案:

答案 0 :(得分:3)

这不是你的错。根据{{​​3}},Telegram中的轮播具有向下渲染的外观。