nodejs Dialogflow v2 закрывает разговор от исполнения - PullRequest
0 голосов
/ 24 января 2019

Как мне закончить разговор через веб-крючок?

Маркировка внутри Dialogflow ничего не делает, в основном не останавливает, так как я использую webhook для выполнения.

И если я добавлю его в код, как показано ниже, он не будет воспроизводить мультимедиа.

// Import the Dialogflow module from the Actions on Google client library.
// https://github.com/actions-on-google/actions-on-google-nodejs
const {dialogflow, Suggestions, MediaObject, Image} = require('actions-on-google');
// Import the firebase-functions package for Cloud Functions for Firebase fulfillment.
const functions = require('firebase-functions');
// Node util module used for creating dynamic strings
const util = require('util');

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

// Do common tasks for each intent invocation
app.middleware((conv, framework) => {
  console.log(`Intent=${conv.intent}`);
  console.log(`Type=${conv.input.type}`);
  //kng
  console.log(`Arguments=${conv.arguments}`);
  console.log(`Arguments=${typeof(conv.arguments)}`);
  // Determine if the user input is by voice
  conv.voice = conv.input.type === 'VOICE';
  if (!(conv.intent === 'Default Fallback Intent' || conv.intent === 'No-input')) {
    // Reset the fallback counter for error handling
    conv.data.fallbackCount = 0;
  }
});

app.intent('Play Sound', (conv, {SoundType,duration}) => {

    const suggestions1 = new Suggestions('do this ', 'do that', 'do nothing');

    simple_response = 'this is a response from the webhook'

    conv.ask(simple_response)
    conv.ask(new MediaObject({
      name: SoundType,
      url: some_mp3file_url,
      icon: new Image({
        url: some_image_url,
        alt: 'Media icon'
      })
    }));


    conv.ask( suggestions1);

    //if I close from the code it doesnot play the sound
    conv.close();
    //if I comment out the close statement above then it does not close and toggling on the "set this intent as the end of  convesation does not seem to help."

  }
)

1 Ответ

0 голосов
/ 24 января 2019

Я могу продублировать проблему, но, похоже, это ошибка - проигрывание аудио как часть ответа и его закрытие после завершения аудио использует для работы. Очевидно, что он должен поддерживаться - документация и симулятор заявляют, что Предложения не требуются, если это окончательный ответ.

Обходной путь должен создать дополнительное Намерение, которое обрабатывает Действие actions_intent_MEDIA_STATUS. Это намерение затем закроет разговор.

...