Dialogflow es Facebook messenger集成-机器人不提供响应

Dialogflow es Facebook messenger集成-机器人不提供响应,dialogflow-es,actions-on-google,Dialogflow Es,Actions On Google,我已将Dialogflow与Facebook messenger集成 整合。我遵循了dialogflow文档中的步骤 我没有收到来自messenger的任何输出/消息 我使用了conv.ask()来响应意图,这就是问题所在吗 我是否需要更新actions中的surface capabilities部分 'use strict'; // Import the Dialogflow module and response creation dependencies // from the

我已将Dialogflow与Facebook messenger集成 整合。我遵循了dialogflow文档中的步骤

我没有收到来自messenger的任何输出/消息

我使用了
conv.ask()
来响应意图,这就是问题所在吗

我是否需要更新actions中的surface capabilities部分

'use strict';

  // Import the Dialogflow module and response creation dependencies
  // from the Actions on Google client library.
  const {
    dialogflow,
    BasicCard,

  } = require('actions-on-google');

  // Import the firebase-functions package for deployment.
  const functions = require('firebase-functions');

  // Instantiate the Dialogflow client.
  const app = dialogflow({debug: true});


  function getRandomInt(max) {
    return Math.floor(Math.random() * Math.floor(max));
  }

  const swamiMessages = require('./messages');

  const swamiQuotes =require('./quotes');
  // Intent Mapping 

  //INTENT: 'Default Welcome Intent'.

  app.intent('Default Welcome Intent', (conv) => {
    conv.ask(
        `<speak> <emphasis level="moderate" >   `+
        `Do you want to hear an Inspiring  <break/> Quote or a Message from Swami <break/> Sukhabodhananda ` +
        `Do you want to know about Prasanna Trust <break/>`+
        //`Do you want to know about the upcoming programs` +
      ` </emphasis> </speak>`);
    });

  //INTENT: 'quote'
  //Should get triggered when the user request for an inspiring thought
  // asks for motivation 

  app.intent('quote', (conv) => {
    // when the welcome intent is triggered recite a random quote

    //let quoteNumber= getRandomInt(5);
    //let quote = quotes[quoteNumber].quote; //
      let quote =swamiQuotes.getQuote();

    if (quote) {
        conv.ask(
            `<speak> <emphasis level="moderate" >   `+
            `Let us hear  an Inspiring quote \n` +
            `<break strength="strong"> </break>  `+
            `${quote}` +
            `<break strength="strong"> </break>  `+
            `\nDo you want to hear another quote or message ` +
            ` </emphasis> </speak>`);
        } else
        {
          conv.ask(
            `<speak> <emphasis level="moderate" >   `+
            `Let us hear  an Inspiring quote ` +
            `<break strength="strong"> </break>  `+
            `quotes` +
            `\nDo you want to hear another quote or message ` +
            ` </emphasis> </speak>`);
        }
  });

  // INTENT: message 
  //Should get triggered when the user request for an inspiring message


  app.intent('message', (conv) => {
    // when the welcome intent is triggered recite a random message
    let message =swamiMessages.getMessage();
    //let formattedMessage=swamiMessages.formattedMessage(message);

    conv.ask(
        `<speak> <emphasis level="moderate" >   `+
        `Let us hear  an Inspiring Message ` +
        `<break strength="strong"> </break>  `+
        `${message}`+
        `\nDo you want to hear another quote or message ` +
        ` </emphasis> </speak>`);

    });

您表示您正试图将其与Facebook集成,但您正在使用google library上的操作,该操作专门为google助手定制,用于回复消息

如果您想编写响应助手和Dialogflow支持的其他平台的代码,您可能需要查看

您不需要对操作控制台上的surface配置执行任何操作

更新

您可以使用相同的意图定义-这是为多个平台开发的一个重要方面。许多东西(比如文本)在两者之间的作用完全相同。对于某些事情(例如想要添加一些RichResponse对象),您可能需要使用以下代码检查正在哪个平台上运行

if (agent.requestSource === agent.ACTIONS_ON_GOOGLE) {
  intentMap.set(null, googleAssistantOther);
} else {
  intentMap.set(null, other);
}

我怎样才能使用我为Google Actions开发的相同意图?我应该创建一个单独的代理吗?感谢你帮助我学习,你能让我知道如何在Agent.add中使用SSML吗?我尝试创建一个文本对象,使用Test.setSsml并将文本传递给Agent.add,但没有成功。您还可以帮助我理解intentMap.set(null,GoogleAssistantTother);&intentMap.set(空,其他)//我应该更新Intent Name和googleAssitantOther以及其他回调函数来代替null。因此,我们将使用两个独立的函数,一个用于ActionOnGoogle,另一个是default。我的理解是否正确。如果您对原始问题仍有疑问,请更新您的原始问题(并发表您已更新的评论),而不是试图在评论中详细阐述。如果你有一个新问题(至少你的第二部分听起来可能是一个新问题),那么把它作为一个新问题来问是最好的。如果这已经回答了您最初的问题,那么接受和/或提升它总是很感激的。@囚犯,我认为您应该对建议的代码进行一些更正,以便使它对其他人有用。首先,根据Ak11最初的问题,您应该将代理重命名为app。(当然,如果是同一件事)您还应该定义intentMap(让intentMap=new Map();)并定义处理程序GoogleAssistantTother,因为不清楚这个处理程序做什么。
app
agent
对象是两个完全不同的东西。事实上,他们谈论的是两个完全不同的库。类似地,未定义
intentMap
,因为它在dialogflow fulfillment library链接中引用。两者都引用了评论中的详细说明请求;商标资本化;语法;布局。
if (agent.requestSource === agent.ACTIONS_ON_GOOGLE) {
  intentMap.set(null, googleAssistantOther);
} else {
  intentMap.set(null, other);
}