Dialogflow es 如何通过Dialogflow Messenger集成的实践添加建议芯片?

Dialogflow es 如何通过Dialogflow Messenger集成的实践添加建议芯片?,dialogflow-es,embed,webhooks,dialogflow-es-fulfillment,Dialogflow Es,Embed,Webhooks,Dialogflow Es Fulfillment,所以我在一个网站中嵌入了Dialogflow Messenger,并想添加一些建议芯片。通过自定义有效负载响应类型很容易,它们显示得很好。 但是我如何通过实现来添加它们呢 我目前有一个自定义webhook设置,其想法是有如下内容: if (x) { agent.add('blablabla'); agent.add(new Suggestion('One'); } else { agent.add('blablabla'); agent.add(new Suggestion('T

所以我在一个网站中嵌入了Dialogflow Messenger,并想添加一些建议芯片。通过自定义有效负载响应类型很容易,它们显示得很好。 但是我如何通过实现来添加它们呢

我目前有一个自定义webhook设置,其想法是有如下内容:

if (x) {
  agent.add('blablabla');
  agent.add(new Suggestion('One');
} else {
  agent.add('blablabla');
  agent.add(new Suggestion('Two');
}
agent.add(new Payload(
  "richContent": [
    [
      {
        "options": [
          {
            "text": "One"
          },
          {
            "text": "Two"
          }
        ],
        "type": "chips"
      }
    ]
  ]));
然而,新的建议不起作用,所以有没有其他方法可以做到这一点? 我在想这样的事情:

if (x) {
  agent.add('blablabla');
  agent.add(new Suggestion('One');
} else {
  agent.add('blablabla');
  agent.add(new Suggestion('Two');
}
agent.add(new Payload(
  "richContent": [
    [
      {
        "options": [
          {
            "text": "One"
          },
          {
            "text": "Two"
          }
        ],
        "type": "chips"
      }
    ]
  ]));

实际上,如果有意义的话,尝试将自定义负载直接插入到响应JSON中。但我不知道该怎么做。有人知道怎么做吗?

我不清楚你所说的新建议()的确切含义是什么。您的意思是建议芯片不显示在Dialogflow Messenger中?它们是否显示在Dialogflow中

让我谈谈几点:

  • 据我所知,结构
    agent.add(新建议(“一”)应该可以工作。我尝试了一个简单的示例,它在Dialogflow UI中运行良好,代码如下:
const functions=require('firebase-functions');
const{WebhookClient}=require('dialogflow-fulfillment');
const{Card,Suggestion}=require('dialogflow-fulfillment');
process.env.DEBUG='dialogflow:DEBUG';//启用lib调试语句
exports.dialogflowFirebaseFulfillment=functions.https.onRequest((请求,响应)=>{
const-agent=new-WebhookClient({request,response});
log('Dialogflow请求头:'+JSON.stringify(Request.headers));
log('Dialogflow请求主体:'+JSON.stringify(Request.body));
让intentMap=newmap();
intentMap.set('Default Welcome Intent',Welcome);
intentMap.set('Default Fallback Intent',Fallback);
功能欢迎(代理){
添加(“你最喜欢的动物是什么?”);
添加(新建议(“狗”));
代理。添加(新建议(“Cat”);
}
功能回退(代理){
agent.add(`我不明白');
agent.add(`对不起,你能再试一次吗?`);
}
代理handleRequest(intentMap);
});
  • 如果即使在Dialogflow UI中也没有呈现建议,我建议您尝试使用前面的代码来消除Dialogflow设置中的任何潜在问题。您可能需要升级某些依赖项,例如
    “dialogflow fulfillment”:“^0.6.1”

  • 一些集成,如Google Assistant,使用Google上的
    操作中的
    建议
    库。例如,见。如果符合您的用例,您可以尝试遵循类似的行为,尽管我认为情况并非如此。作为参考,您可以检查github问题


    • 我不清楚你所说的新建议()的确切含义是什么。您的意思是建议芯片不显示在Dialogflow Messenger中?它们是否显示在Dialogflow中

      让我谈谈几点:

      • 据我所知,结构
        agent.add(新建议(“一”)应该可以工作。我尝试了一个简单的示例,它在Dialogflow UI中运行良好,代码如下:
      const functions=require('firebase-functions');
      const{WebhookClient}=require('dialogflow-fulfillment');
      const{Card,Suggestion}=require('dialogflow-fulfillment');
      process.env.DEBUG='dialogflow:DEBUG';//启用lib调试语句
      exports.dialogflowFirebaseFulfillment=functions.https.onRequest((请求,响应)=>{
      const-agent=new-WebhookClient({request,response});
      log('Dialogflow请求头:'+JSON.stringify(Request.headers));
      log('Dialogflow请求主体:'+JSON.stringify(Request.body));
      让intentMap=newmap();
      intentMap.set('Default Welcome Intent',Welcome);
      intentMap.set('Default Fallback Intent',Fallback);
      功能欢迎(代理){
      添加(“你最喜欢的动物是什么?”);
      添加(新建议(“狗”));
      代理。添加(新建议(“Cat”);
      }
      功能回退(代理){
      agent.add(`我不明白');
      agent.add(`对不起,你能再试一次吗?`);
      }
      代理handleRequest(intentMap);
      });
      
      • 如果即使在Dialogflow UI中也没有呈现建议,我建议您尝试使用前面的代码来消除Dialogflow设置中的任何潜在问题。您可能需要升级某些依赖项,例如
        “dialogflow fulfillment”:“^0.6.1”

      • 一些集成,如Google Assistant,使用Google上的
        操作中的
        建议
        库。例如,见。如果符合您的用例,您可以尝试遵循类似的行为,尽管我认为情况并非如此。作为参考,您可以检查github问题