0

こんにちは、インターフェイスbotframeworkを使用しているという点で、Microsoft プロジェクトを使用して 1 つのボットを開発していIDialogます。その中でThumbnailCard、カードを表示するために を使用しています。ここで、カードにデータを添付していて、データが適切に添付されているのに、PostAsyncメソッド内で応答が返されない場合があります。

public virtual async Task MessageReceivedAsync(IDialogContext context, IAwaitable<IMessageActivity> argument)
    {
        ThumbnailCard plCard = null;
        IMessageActivity replyToConversation =await argument;
        replyToConversation.Type = "message";
        replyToConversation.Attachments = new List<Attachment>();
        replyToConversation.Text = "welcome to book my show";
        Dictionary<string, string> cardContentList = new Dictionary<string, string>();
        cardContentList.Add("Jason Bourne", "URL");
        cardContentList.Add("The Land", "URL");
        cardContentList.Add("Yoga Hosers", "URL");
        foreach (KeyValuePair<string, string> cardContent in cardContentList)
        {
            List<CardImage> cardImages = new List<CardImage>();
            cardImages.Add(new CardImage(url: cardContent.Value));
            List<CardAction> cardButtons = new List<CardAction>();
            if (cardContent.Key == "Jason Bourne")
            {
                CardAction plButton1 = new CardAction()
                {
                     Value = $"",
                    Type = "openUrl",
                    Title = "Book Now"
                };

                CardAction plButton2 = new CardAction()
                {
                    Value = "tel:1-800-800-5705",
                    Type = "call",
                    Title = "Show timings"
                };
                cardButtons.Add(plButton1);
                cardButtons.Add(plButton2);

                plCard = new ThumbnailCard()
                {
                    Title = $"Jason Bourne",
                    Subtitle = " ",
                    Images = cardImages,
                    Buttons = cardButtons,

                };
                Attachment plAttachment = plCard.ToAttachment();
                replyToConversation.Attachments.Add(plAttachment);
            }
            else if (cardContent.Key == "The Land")
            {
                CardAction plButton1 = new CardAction()
                {
                     Value = $"",
                    Type = "openUrl",
                    Title = "Book Now"
                };
                CardAction plButton2 = new CardAction()
                {
                    Value = "tel:1-800-800-5705",
                    Type = "call",
                    Title = "Show Timings"
                };
                cardButtons.Add(plButton1);
                cardButtons.Add(plButton2);

                plCard = new ThumbnailCard()
                {
                    Title = $"The Land",
                    Subtitle = "",
                    Images = cardImages,
                    Buttons = cardButtons,

                };
                Attachment plAttachment = plCard.ToAttachment();
                replyToConversation.Attachments.Add(plAttachment);
            }
            else if (cardContent.Key == "Yoga Hosers")
            {

                CardAction plButton1 = new CardAction()
                {
                     Value = $"",
                    Type = "openUrl",
                    Title = "Book Now"
                };
                CardAction plButton2 = new CardAction()
                {
                    Value = "tel:1-800-800-5705",
                    Type = "call",
                    Title = "Show timings"
                };
                cardButtons.Add(plButton1);
                cardButtons.Add(plButton2);

                plCard = new ThumbnailCard()
                {
                    Title = $"Yoga Hosers",
                    Subtitle = "",
                    Images = cardImages,
                    Buttons = cardButtons,
                };
                Attachment plAttachment = plCard.ToAttachment();
                replyToConversation.Attachments.Add(plAttachment);
            }
        }
        replyToConversation.AttachmentLayout = AttachmentLayoutTypes.List;
        await context.PostAsync(replyToConversation);
    }       

ボットを実行すると、次のエラーが表示されます ここに画像の説明を入力

添付ファイルのIDialog コンテキストでカードを使用できますか?

4

1 に答える 1