Настраиваемая полезная нагрузка для таких платформ, как Telegram, Facebook, Slack для DialogFlow в Nodejs

#node.js #express #dialogflow-es #dialogflow-es-fulfillment

#node.js #экспресс #dialogflow-ы #dialogflow-es-выполнение

Вопрос:

Я хотел бы спросить, как настроить полезную нагрузку для carousel, image на других платформах, таких как Facebook, Telegram и т.д.

Информация

  1. Версия API DialogFlow: V2 API
  2. Версия узла: v8.10.0
  3. версия синтаксического анализатора тела: ^ 1.18.3
  4. экспресс: ^4.16.4
 return res.json({
  payload: {
    google: {
      expectUserResponse: true,
      systemIntent: {
        intent: "actions.intent.OPTION",
        data: {
          "@type": "type.googleapis.com/google.actions.v2.OptionValueSpec",
          carouselSelect: {
            items: [{
                optionInfo: {
                  key: "car",
                  synonyms: ["automobile", "vehicle"]
                },
                description: "A four wheel vehicle",
                title: "Car"
              },
              {
                optionInfo: {
                  key: "plane",
                  synonyms: ["aeroplane", "jet"]
                },
                description: "A flying machine",
                title: "Plane"
              }
            ]
          }
        }
      },
      richResponse: {
        items: [{
          simpleResponse: {
            textToSpeech: "Category List"
          }
        }]
      }
    },
    telegram: {
      text: "Category list",
      expectUserResponse: true,
      systemIntent: {
        intent: "actions.intent.OPTION",
        data: {
          "@type": "type.googleapis.com/google.actions.v2.OptionValueSpec",
          carouselSelect: {
            items: [{
                optionInfo: {
                  key: "car",
                  synonyms: ["automobile", "vehicle"]
                },
                description: "A four wheel vehicle",
                title: "Car"
              },
              {
                optionInfo: {
                  key: "plane",
                  synonyms: ["aeroplane", "jet"]
                },
                description: "A flying machine",
                title: "Plane"
              }
            ]
          }
        }
      }
    }
  },
  outputContexts: []
});
  

Это фрагмент кода для возврата ответа carousel в Telegram и Google. Это сработало в Google Assistant, но не удалось отобразить список каруселей в Telegram. В Telegram отображался только текст «Список категорий».

Есть ли какая-либо ошибка в полезной нагрузке для Telegram? Кто-нибудь может дать рекомендации по этому поводу?

Ответ №1:

Ответы на опции (такие как карусель и список) — это тип ответа на действия в модулях Google, и он создан для Google Assistant. У каждой платформы разные возможности отображения, поэтому вы не можете использовать каждый тип ответа для каждой платформы. Насколько я знаю, Telegram не поддерживает тип карусели или списка. Вы можете рассмотреть возможность использования других опций. Для получения дополнительной информации вы можете ознакомиться :

Расширенные сообщения

Комментарии:

1. Проверено еще раз, вы можете рассмотреть возможность использования кнопок клавиатуры (быстрых ответов) с изображениями для этого, если это поможет.