适用于平台的自定义有效负载,例如Telegram,Facebook,Nodejs中DialogFlow的Slack

时间:2019-04-01 02:42:21

标签: node.js express dialogflow dialogflow-fulfillment

我想问一下如何在Facebook,Telegram等其他平台上为轮播,图片自定义有效载荷。

信息

  
      
  1. DialogFlow API版本:V2 API
  2.   
  3. 节点版本:v8.10.0
  4.   
  5. body-parser版本:^ 1.18.3
  6.   
  7. 表达:^ 4.16.4
  8.   
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: []
});

这是用于将轮播响应返回给Telegram和Google的代码段。它在谷歌助手中工作,但未能在电报中显示轮播列表。电报中仅显示“类别列表”文本。

Telegram的有效载荷中是否存在任何错误?有人可以为此提供指导吗?

1 个答案:

答案 0 :(得分:0)

选项响应(例如“轮播”和“列表”)是Google动作模块的响应类型,是为Google助手创建的。每个平台具有不同的屏幕功能,因此您不能为每个平台使用每种响应类型。据我所知,Telegram不支持轮播或列表类型。您可以考虑使用其他选项。有关更多信息,您可以查看:

Rich messages