Как сделать карусель, используя Google.Cloud.Dialogflow.V2 Карусель для диалогового потока? - PullRequest
0 голосов
/ 14 ноября 2018

Я пытаюсь создать веб-крючок для диалогового потока с помощью пакета nuget Google.Cloud.Dialogflow.V2. Я запускаю код с .Net Core 2.1. Я получаю fullfilmentText, чтобы показать в диалоговом потоке, но не могу сделать карусель, чтобы показать. Что я делаю не так?

Вот мой метод:

  [HttpPost]
  public ContentResult Post([FromBody] WebhookRequest webhookRequest)
  {
      var dialogflowResponse = new WebhookResponse { FulfillmentText = "FulfillmentText" };

      var carousel = new Intent.Types.Message.Types.CarouselSelect.Types.Item
      {
        Title = "My title",
          Description = "This is a description",
          Image = new Intent.Types.Message.Types.Image
          {
              ImageUri = "https://placekitten.com/200/300",
              AccessibilityText = "cat"
          },
          Info = new Intent.Types.Message.Types.SelectItemInfo
          {
              Key = "Cats"
           }
      };

      carousel.Info.Synonyms.Add("Synonym 1");
      carousel.Info.Synonyms.Add("Synonym 1");

      dialogflowResponse.FulfillmentMessages.Add(new Intent.Types.Message {
          CarouselSelect = new Intent.Types.Message.Types.CarouselSelect()
      });

      dialogflowResponse.FulfillmentMessages.First().CarouselSelect.Items.Add(carousel);

      return dialogflowResponse;
    }

Генерирует следующее Json:

{
    "fulfillmentText": "FulfillmentText",
    "fulfillmentMessages": [
        {
            "carouselSelect": {
                "items": [
                    {
                        "info": {
                            "key": "Cats",
                            "synonyms": [
                                "Synonym 1",
                                "Synonym 1"
                            ]
                        },
                        "title": "My title",
                        "description": "This is a description",
                        "image": {
                            "imageUri": "https://placekitten.com/200/300",
                            "accessibilityText": "cat"
                        }
                    }
                ]
            }
        }
    ]
}

1 Ответ

0 голосов
/ 06 декабря 2018

Я столкнулся с той же проблемой с Java API. Работают только основные расширенные сообщения (карточка, быстрые ответы, ...). BasicCard, Suggestions, Carousel, ... не отображается ни на одном канале.

Я получил его на работу, если я добавил некоторые из следующих пользовательских полезных данных в канал Skype:

{
"skype": {
    "type": "message",
    "attachmentLayout": "carousel",
    "text": "Please select your food.",
    "attachments": [{
            "contentType": "application/vnd.microsoft.card.hero",
            "content": {
                "title": "Sushi",
                "subtitle": "Very fresh shrimp or tuna.",
                "images": [{
                        "url": "https://i.ibb.co/87LmvT3/mdi.png"
                    }
                ],
                "buttons": [{
                        "type": "imBack",
                        "title": "1 piece",
                        "value": "sushi,1"
                    }, {
                        "type": "imBack",
                        "title": "2 piece",
                        "value": "sushi,2"
                    }, {
                        "type": "imBack",
                        "title": "more",
                        "value": "sushi,3+"
                    }
                ]
            }
        }, {
            "contentType": "application/vnd.microsoft.card.hero",
            "content": {
                "title": "Tenpura",
                "subtitle": "Japanese first-class vegitables.",
                "images": [{
                        "url": "https://i.ibb.co/87LmvT3/mdi.png"
                    }
                ],
                "buttons": [{
                        "type": "imBack",
                        "title": "1 piece",
                        "value": "tenpura,1"
                    }, {
                        "type": "imBack",
                        "title": "2 piece",
                        "value": "tenpura,2"
                    }, {
                        "type": "imBack",
                        "title": "more",
                        "value": "tenpura,3+"
                    }
                ]
            }
        }
    ]
}}

Надеюсь, это поможет!

...