Как реализовать Media Response с помощью Dialogflow - PullRequest
0 голосов
/ 04 января 2019

Я использую Dialogflow и хотел бы реализовать медиа-ответ в моем проекте.Я пытался сделать это, используя следующую ссылку: https://developers.google.com/actions/assistant/responses, но безуспешно.Как сделать реализацию?

const functions = require('firebase-functions')
const {dialogflow} = require('actions-on-google')

const TEST = 'test'

const app = dialogflow({
    debug: true,
})

app.intent('test', (conv) =>{
    conv.ask('we will now play a song for you');

    conv.ask(new MediaObject({
        name: 'Jazz in Paris',
        url: 'https://storage.googleapis.com/automotive-media/Jazz_In_Paris.mp3',
    }));
    conv.ask(new MediaResponse({
        mediaObject: 'Jazz in Paris',
        mediaType: AUDIO,
    }));
});


exports.dialogflowFirebaseFulfillment = functions.https.onRequest(app)

1 Ответ

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

Вам просто нужно добавить MediaObject.Вам не нужно добавлять объект MediaResponse, поскольку библиотека добавит его для вас.

Однако вам необходимо убедиться, что вы загрузили объект MediaObject как часть вашего вызова require().Вам также нужно будет загрузить объект Suggestions, так как вам нужно предоставить предложения для продолжения разговора, если пользователь решит прервать ваше аудио.

Таким образом, ваш код может выглядеть примерно так:

const functions = require('firebase-functions')
const {
  dialogflow,
  MediaObject,
  Suggestions
} = require('actions-on-google')

const app = dialogflow({
    debug: true,
})

app.intent('test', (conv) =>{
    conv.ask('we will now play a song for you');

    conv.ask(new MediaObject({
        name: 'Jazz in Paris',
        url: 'https://storage.googleapis.com/automotive-media/Jazz_In_Paris.mp3',
    }));

    conv.ask(new Suggestions(['suggestion 1', 'suggestion 2']));

});


exports.dialogflowFirebaseFulfillment = functions.https.onRequest(app)
...