diff --git a/lambda/custom/helpers/index.js b/lambda/custom/helpers/index.js
index 66bc186..5d764de 100644
--- a/lambda/custom/helpers/index.js
+++ b/lambda/custom/helpers/index.js
@@ -1,2 +1,2 @@
module.exports.linkHelper = require('./linkHelper')
-module.exports.responseHelper = require('./responseHelper')
+module.exports.responseHelper = require('./responseHelper')
\ No newline at end of file
diff --git a/lambda/custom/index.js b/lambda/custom/index.js
index 5d85d27..7716f10 100644
--- a/lambda/custom/index.js
+++ b/lambda/custom/index.js
@@ -5,112 +5,112 @@ const Helpers = require('./helpers')
const Utils = require('./utils')
const SynopsisUtterance = [
- 'Trouve moi le résumé de Arrow',
- 'Quel est le résumé de Arrow',
- 'Donne moi le résumé de Arrow',
- 'Résumé de Arrow'
+ 'Trouve moi le résumé de Arrow',
+ 'Quel est le résumé de Arrow',
+ 'Donne moi le résumé de Arrow',
+ 'Résumé de Arrow'
]
const resumeNotExist = [
- "Je n'ai pas trouvé le résumé de ",
- "Trouvé n'a pas été le résumé de ",
- "Oups je n'ai pas réussi à trouver le résumé de "
+ "Je n'ai pas trouvé le résumé de ",
+ "Trouvé n'a pas été le résumé de ",
+ "Oups je n'ai pas réussi à trouver le résumé de "
]
const yearUtterance = [
- 'Année de Flash',
- 'Année de création Flash',
- "Quel est l'année de Flash",
- "Quel est l'année de création de Flash",
- 'En quel année a été créé Flash',
- "L'année de creation de Flash"
+ 'Année de Flash',
+ 'Année de création Flash',
+ "Quel est l'année de Flash",
+ "Quel est l'année de création de Flash",
+ 'En quel année a été créé Flash',
+ "L'année de creation de Flash"
]
const lengthUtterrance = [
- 'Donne moi la durée de Flash',
- 'Quel est la durée de Flash',
- 'Durée de Flash'
+ 'Donne moi la durée de Flash',
+ 'Quel est la durée de Flash',
+ 'Durée de Flash'
]
const genreUtterance = [
- 'Donne moi le genre de Flash',
- 'Quel est le genre de Flash',
- 'Quel sont les genres de Flash',
- 'Genre de Flash'
+ 'Donne moi le genre de Flash',
+ 'Quel est le genre de Flash',
+ 'Quel sont les genres de Flash',
+ 'Genre de Flash'
]
const numberSeasonUtterance = [
- 'Quel est la dernière saison de Flash',
- 'Quel est la dernière saison de la série Flash',
- 'Combien de saison a la série Flash ',
- 'Combien de saison a Flash ',
- 'Trouve moi le nombre de saison de Flash',
- 'Trouve moi le nombre de saison de la série Flash'
+ 'Quel est la dernière saison de Flash',
+ 'Quel est la dernière saison de la série Flash',
+ 'Combien de saison a la série Flash ',
+ 'Combien de saison a Flash ',
+ 'Trouve moi le nombre de saison de Flash',
+ 'Trouve moi le nombre de saison de la série Flash'
]
const numberEpisodesUtterance = [
- "Combien d'épisode a la saison 1 de Flash",
- "Combien d'épisode a la saison 1 de la série Flash",
- "Combien d'épisode a Flash",
- "Combien d'épisode a la série Flash",
- "Combien il y a t-il d'épisode a la série Flash",
- "Combien il y a t-il d'épisode sur Flash",
- "Combien il y a t-il d'épisode sur la série Flash",
- "Combien il y a t-il d'épisode a la saison 1 de Flash",
- "Combien il y a t-il d'épisode sur la saison 1 de Flash"
+ "Combien d'épisode a la saison 1 de Flash",
+ "Combien d'épisode a la saison 1 de la série Flash",
+ "Combien d'épisode a Flash",
+ "Combien d'épisode a la série Flash",
+ "Combien il y a t-il d'épisode a la série Flash",
+ "Combien il y a t-il d'épisode sur Flash",
+ "Combien il y a t-il d'épisode sur la série Flash",
+ "Combien il y a t-il d'épisode a la saison 1 de Flash",
+ "Combien il y a t-il d'épisode sur la saison 1 de Flash"
]
const dernierEpisodeUtterance = [
- 'Dernier épisode de la série Flash',
- 'Donne moi le dernier épisode de la série Flash',
- 'Donne moi le dernier épisode de Flash',
- 'Dernier épisode de Flash',
- 'Quel est le dernier épisode de Flash'
+ 'Dernier épisode de la série Flash',
+ 'Donne moi le dernier épisode de la série Flash',
+ 'Donne moi le dernier épisode de Flash',
+ 'Dernier épisode de Flash',
+ 'Quel est le dernier épisode de Flash'
]
const directorMovieUtterance = [
- 'Qui a réalisé le film Flash',
- 'Qui a réalisé Flash',
- 'Réalisateur de Flash',
- 'Qui est le réalisateur de Flash'
+ 'Qui a réalisé le film Flash',
+ 'Qui a réalisé Flash',
+ 'Réalisateur de Flash',
+ 'Qui est le réalisateur de Flash'
]
const markUtterance = [
- 'Note moyenne de Flash ',
- 'Quelle est la note moyenne de Flash ',
- 'Note de Flash ',
- 'Quelle est la note de Flash'
+ 'Note moyenne de Flash ',
+ 'Quelle est la note moyenne de Flash ',
+ 'Note de Flash ',
+ 'Quelle est la note de Flash'
]
const networkUtterance = [
- 'Qui est le diffuseur de la série Flash',
- 'Qui est le diffuseur de Flash',
- 'Où puis je voir la série Flash',
- 'Qui diffuse la série Flash',
- 'Où puis je voir Flash',
- 'Qui diffuse Flash'
+ 'Qui est le diffuseur de la série Flash',
+ 'Qui est le diffuseur de Flash',
+ 'Où puis je voir la série Flash',
+ 'Qui diffuse la série Flash',
+ 'Où puis je voir Flash',
+ 'Qui diffuse Flash'
]
const charactersUtterance = [
- 'Quels sont les personnages de Arrow',
- 'Les personnages de Arrow',
- 'Qui joue dans Arrow'
+ 'Quels sont les personnages de Arrow',
+ 'Les personnages de Arrow',
+ 'Qui joue dans Arrow'
]
const choiceUtterance = [
- 'Que voulez vous savoir ? ',
- 'Quelles informations voulez vous obtenir ?'
+ 'Que voulez vous savoir ? ',
+ 'Quelles informations voulez vous obtenir ?'
]
const oeuvreNotFound = [
- 'Aucune information n\'a été trouvé concernant l\'oeuvre .',
- 'L\'oeuvre que vous cherchez n\'existe pas sur Bétaseries.',
- 'Bétaseries ton oeuvre n\'a pas'
+ 'Aucune information n\'a été trouvé concernant l\'oeuvre .',
+ 'L\'oeuvre que vous cherchez n\'existe pas sur Bétaseries.',
+ 'Bétaseries ton oeuvre n\'a pas'
]
const infNotFound = [
- "L'information que vous avez demandé n'existe pas",
- "L'information que vous cherchez n'a pas été trouvée",
- "Désolé je ne parvient pas à trouver l'information que vous voulez"
+ "L'information que vous avez demandé n'existe pas",
+ "L'information que vous cherchez n'a pas été trouvée",
+ "Désolé je ne parvient pas à trouver l'information que vous voulez"
]
/* const charactersFilmUtterance = [
@@ -118,439 +118,464 @@ const infNotFound = [
] */
const errorResponses = [
- "BetaSeries n'est pas disponible pour le moment, Veuillez réessayer plus tard.",
- "Oups BetaSeries n'a pas répondu. Réessayer dans un petit moment."
+ "BetaSeries n'est pas disponible pour le moment, Veuillez réessayer plus tard.",
+ "Oups BetaSeries n'a pas répondu. Réessayer dans un petit moment."
]
const networkNotFound = [
- "Aucunes informations n'a été trouvée sur le diffuseur de ",
- "Bétaséries ne détient pas d'information sur le diffuseur de "
+ "Aucunes informations n'a été trouvée sur le diffuseur de ",
+ "Bétaséries ne détient pas d'information sur le diffuseur de "
]
const choicesFilm = [
- 'film',
- 'films'
+ 'film',
+ 'films'
]
const choicesSeries = [
- 'série',
- 'serie',
- 'séries',
- 'series'
+ 'série',
+ 'serie',
+ 'séries',
+ 'series'
]
const handlers = {
- 'LaunchRequest': function () {
- this.emit(':ask', 'Bonjour et bienvenue dans la skill WatchIt. Dites série pour des information sur une série ou film si vous voulez des informations sur un film', 'Voulez-vous des informations sur une série ou un film ?')
- },
- 'ChoiceIntent': function () {
- if (this.event.request.intent.slots.choice.value) {
- const choice = this.event.request.intent.slots.choice.value
- if (choicesFilm.includes(choice) || choicesSeries.includes(choice)) {
- if (choicesFilm.includes(choice)) {
- this.attributes.choice = 'film'
- } else {
- this.attributes.choice = 'série'
+ 'LaunchRequest': function() {
+ this.emit(':ask', 'Bonjour et bienvenue dans la skill WatchIt. Dites série pour des information sur une série ou film si vous voulez des informations sur un film', 'Voulez-vous des informations sur une série ou un film ?')
+ },
+ 'ChoiceIntent': function() {
+ if (this.event.request.intent.slots.choice.value) {
+ const choice = this.event.request.intent.slots.choice.value
+ if (choicesFilm.includes(choice) || choicesSeries.includes(choice)) {
+ if (choicesFilm.includes(choice)) {
+ this.attributes.choice = 'film'
+ } else {
+ this.attributes.choice = 'série'
+ }
+ return this.emit(':ask', "Voilà quelques exemples de phrases que vous pouvez dire pour votre recherche : " +
+ Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(genreUtterance)).listen('Vous pouvez dire les phrases suivantes pour continuer : ' + '' + Helpers.responseHelper(markUtterance))
+ }
}
- return this.emit(':ask', Helpers.responseHelper(choiceUtterance), "Veuillez indiquer l'information que vous voulez obtenir ?")
- }
- }
- return this.emit(':ask', 'Je n\'ai pas compris. Dites série pour des informations sur une série ou film si vous voulez des informations sur un film', "Veuillez indiquer s'il s'agit d'une série ou un film ?")
- },
- 'GetSynopsisIntent': function () {
- const title = this.event.request.intent.slots.title.value
- const vm = this
- if (this.attributes && this.attributes.choice) {
- axios.get(Helpers.linkHelper(this.attributes.choice, { 'title': title }, 'search'))
- .then(function (response) {
- if (Utils.request.movieExist || Utils.request.serieExist) {
- const synopsis = (vm.attributes.choice === 'film') ? response.data.movies[0].synopsis : response.data.shows[0].description
- vm.attributes.title = title
- vm.response.speak('Le résumé de ' + title + " est : " + synopsis +
+ return this.emit(':ask', 'Je n\'ai pas compris. Dites série pour des informations sur une série ou film si vous voulez des informations sur un film', "Veuillez indiquer s'il s'agit d'une série ou un film ?")
+ },
+ 'GetSynopsisIntent': function() {
+ const title = this.event.request.intent.slots.title.value
+ const vm = this
+ if (this.attributes.choice == null) {
+ this.attributes.choice = 'film'
+ }
+
+ if (this.attributes && this.attributes.choice) {
+ axios.get(Helpers.linkHelper(this.attributes.choice, { 'title': title }, 'search'))
+ .then(function(response) {
+ if (Utils.request.movieExist || Utils.request.serieExist) {
+ const synopsis = (vm.attributes.choice === 'film') ? response.data.movies[0].synopsis : response.data.shows[0].description
+ vm.attributes.title = title
+ vm.response.speak('Le résumé de ' + title + " est : " + synopsis +
' Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' +
Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(genreUtterance)).listen('Vous pouvez dire les phrases suivantes pour continuer : ' + '' + Helpers.responseHelper(markUtterance))
- return vm.emit(':responseReady')
- } else {
- vm.response.speak(Helpers.responseHelper(resumeNotExist))
- return vm.emit(':ask', Helpers.responseHelper(resumeNotExist) + title, 'De quel ' + vm.attributes.choice + ' voulez-vous obtenir le résumé ?')
- }
- })
- .catch(function (err) {
- console.error(err)
- return vm.emit(':ask', Helpers.responseHelper(errorResponses))
- })
- } else {
- return this.emit(':ask', 'Est-ce une série ou un film ?', "Veuillez indiquer s'il s'agit d'une série ou d'un film")
- }
- },
- 'GetNetworkIntent': function () {
- const title = this.event.request.intent.slots.title.value
- this.attributes.choice = 'série'
- const vm = this
- axios.get(Helpers.linkHelper(this.attributes.choice, { 'title': title }, 'search'))
- .then(function (response) {
- if (Utils.request.serieExist(response)) {
- var speechOutput = 'Le diffuseur de la série ' + title + ' est : '
- if (response.data.shows[0].network) {
- speechOutput += response.data.shows[0].network
- } else {
- vm.response.speak(Helpers.responseHelper(networkNotFound) + title).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
- return vm.emit(':responseReady')
- }
- vm.response.speak(speechOutput + '' + 'Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' +
- Helpers.responseHelper(SynopsisUtterance) + '' + Helpers.responseHelper(dernierEpisodeUtterance)).listen('Vous pouvez dire les phrases suivantes pour continuer : ' + '' + Helpers.responseHelper(markUtterance) + '' + Helpers.responseHelper(numberSeasonUtterance))
- return vm.emit(':responseReady')
+ return vm.emit(':responseReady')
+ } else {
+ vm.response.speak(Helpers.responseHelper(resumeNotExist))
+ return vm.emit(':ask', Helpers.responseHelper(resumeNotExist) + title, 'De quel ' + vm.attributes.choice + ' voulez-vous obtenir le résumé ?')
+ }
+ })
+ .catch(function(err) {
+ console.error(err)
+ return vm.emit(':ask', Helpers.responseHelper(errorResponses))
+ })
} else {
- vm.response.speak(Helpers.responseHelper(oeuvreNotFound)).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' +
+ return this.emit(':ask', 'Dites série si ce que vous voulez concerne une série ou film si cela concerne un film', "Veuillez indiquer s'il s'agit d'une série ou d'un film")
+ }
+ },
+ 'GetNetworkIntent': function() {
+ const title = this.event.request.intent.slots.title.value
+ this.attributes.choice = 'série'
+ const vm = this
+ axios.get(Helpers.linkHelper(this.attributes.choice, { 'title': title }, 'search'))
+ .then(function(response) {
+ if (Utils.request.serieExist(response)) {
+ var speechOutput = 'Le diffuseur de la série ' + title + ' est : '
+ if (response.data.shows[0].network) {
+ speechOutput += response.data.shows[0].network
+ } else {
+ vm.response.speak(Helpers.responseHelper(networkNotFound) + title).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
+ return vm.emit(':responseReady')
+ }
+ vm.response.speak(speechOutput + '' + 'Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' +
+ Helpers.responseHelper(SynopsisUtterance) + '' + Helpers.responseHelper(dernierEpisodeUtterance)).listen('Vous pouvez dire les phrases suivantes pour continuer : ' + '' + Helpers.responseHelper(markUtterance) + '' + Helpers.responseHelper(numberSeasonUtterance))
+ return vm.emit(':responseReady')
+ } else {
+ vm.response.speak(Helpers.responseHelper(oeuvreNotFound)).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' +
Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
- return vm.emit(':responseReady')
+ return vm.emit(':responseReady')
+ }
+ })
+ .catch(function(err) {
+ console.error(err)
+ return vm.emit(':ask', Helpers.responseHelper(errorResponses))
+ })
+ },
+ 'GetMarkIntent': function() {
+ const title = this.event.request.intent.slots.title.value
+ const vm = this
+ if (this.attributes.choice == null) {
+ this.attributes.choice = 'film'
}
- })
- .catch(function (err) {
- console.error(err)
- return vm.emit(':ask', Helpers.responseHelper(errorResponses))
- })
- },
- 'GetMarkIntent': function () {
- const title = this.event.request.intent.slots.title.value
- const vm = this
- if (this.attributes && this.attributes.choice) {
- axios.get(Helpers.linkHelper(this.attributes.choice, { 'title': title }, 'search'))
- .then(function (response) {
- if (Utils.request.movieExist || Utils.request.serieExist) {
- const mark = (vm.attributes.choice === 'film') ? response.data.movies[0].notes.mean : response.data.shows[0].notes.mean
- vm.attributes.title = title
- const speechOutput = 'La note moyenne de ' + title + ' est : ' + parseFloat(mark).toFixed(1) + ' sur 5'
- vm.response.speak(speechOutput + '' + 'Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' +
+ if (this.attributes && this.attributes.choice) {
+ axios.get(Helpers.linkHelper(this.attributes.choice, { 'title': title }, 'search'))
+ .then(function(response) {
+ if (Utils.request.movieExist || Utils.request.serieExist) {
+ const mark = (vm.attributes.choice === 'film') ? response.data.movies[0].notes.mean : response.data.shows[0].notes.mean
+ vm.attributes.title = title
+ const speechOutput = 'La note moyenne de ' + title + ' est : ' + parseFloat(mark).toFixed(1) + ' sur 5'
+ vm.response.speak(speechOutput + '' + 'Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' +
Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance) + '' + Helpers.responseHelper(directorMovieUtterance)).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
- return vm.emit(':responseReady')
- } else {
- vm.response.speak(Helpers.responseHelper(oeuvreNotFound)).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
- return vm.emit(':responseReady')
- }
- })
- .catch(function (err) {
- console.error(err)
- return vm.emit(':ask', Helpers.responseHelper(errorResponses))
- })
- } else {
- return this.emit(':ask', 'Est-ce une série ou un film ?', "Veuillez indiquer s'il s'agit d'une série ou d'un film")
- }
- },
- 'GetYearIntent': function () {
- const vm = this
- const title = this.event.request.intent.slots.title.value
- if (this.attributes && this.attributes.choice) {
- axios.get(Helpers.linkHelper(this.attributes.choice, { 'title': title }, 'search'))
- .then(function (response) {
- const year = (vm.attributes.choice === 'film') ? response.data.movies[0].production_year : response.data.shows[0].creation
- const speechOutput = "L'année de création de " + title + ' est ' + year + '.'
- vm.response.speak(speechOutput + '' + 'Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' +
- Helpers.responseHelper(SynopsisUtterance) + '' + Helpers.responseHelper(genreUtterance) + '' + Helpers.responseHelper(lengthUtterrance)
- ).listen('Quels autres informations voulez vous obtenir ?')
- return vm.emit(':responseReady')
- })
- .catch(function (err) {
- console.error(err)
- var speechOutput = "Je n'ai pas trouvé l'année de création "
- speechOutput += (vm.attributes.choice === 'film') ? 'du film ' : 'de la série '
- vm.response.speak(speechOutput).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
- return vm.emit(':responseReady')
- })
- } else {
- return this.emit(':ask', 'Est-ce une série ou un film ?', "Veuillez indiquer s'il s'agit d'une série ou d'un film")
- }
- },
-
- 'GetNumberSeasonIntent': function () {
- const title = this.event.request.intent.slots.title.value
- this.attributes.choice = 'série'
- const vm = this
- axios.get(Helpers.linkHelper(this.attributes.choice, { 'title': title }, 'search'))
- .then(function (response) {
- if (Utils.request.serieExist(response)) {
- const nbSeason = response.data.shows[0].seasons
- var speechOutput = 'La série ' + title + ' a ' + nbSeason
- speechOutput += (nbSeason === 1) ? ' saison' : ' saisons'
- vm.response.speak(speechOutput + '' + 'Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' +
- Helpers.responseHelper(numberEpisodesUtterance) + '' + Helpers.responseHelper(lengthUtterrance) + '' + Helpers.responseHelper(markUtterance)
- ).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
- return vm.emit(':responseReady')
+ return vm.emit(':responseReady')
+ } else {
+ vm.response.speak(Helpers.responseHelper(oeuvreNotFound)).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
+ return vm.emit(':responseReady')
+ }
+ })
+ .catch(function(err) {
+ console.error(err)
+ return vm.emit(':ask', Helpers.responseHelper(errorResponses))
+ })
} else {
- return vm.emit(':ask', "Je n'ai pas trouvé le nombre de saison de la série : " + title, 'Sur quel série voulez-vous obtenir le nombre de saison ?')
+ return this.emit(':ask', 'Est-ce une série ou un film ?', "Veuillez indiquer s'il s'agit d'une série ou d'un film")
}
- })
- .catch(function (err) {
- console.error(err)
- return vm.emit(':ask', 'Une erreur est survenue. Veuillez réessayer.')
- })
- },
- 'GetNumberEpisodesIntent': function () {
- const title = this.event.request.intent.slots.title.value
- this.attributes.choice = 'série'
- const vm = this
- axios.get(Helpers.linkHelper(this.attributes.choice, { 'title': title }, 'search'))
- .then(function (response) {
- if (Utils.request.serieExist(response)) {
- var speechOutput = 'La série ' + title
- var nbEpisode = -1
- if (vm.event.request.intent.slots.numberSeason && vm.event.request.intent.slots.numberSeason.value) {
- const nbSeason = vm.event.request.intent.slots.numberSeason.value
- if (response.data.shows[0].seasons_details[nbSeason - 1] && response.data.shows[0].seasons_details[nbSeason - 1].episodes) {
- nbEpisode = response.data.shows[0].seasons_details[nbSeason - 1].episodes
- speechOutput += ' saison ' + nbSeason
- } else {
- vm.response.speak('La série ' + title + ' n\'a pas de saison ' + nbSeason).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
- return vm.emit(':responseReady')
- }
- } else {
- nbEpisode = response.data.shows[0].episodes
- }
- speechOutput += ' a ' + nbEpisode
- speechOutput += (nbEpisode === 1) ? ' épisode.' : ' épisodes.'
- vm.response.speak(speechOutput + '' + 'Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' +
- Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(genreUtterance) + '' + Helpers.responseHelper(markUtterance)
- ).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
- return vm.emit(':responseReady')
+ },
+ 'GetYearIntent': function() {
+ const vm = this
+ const title = this.event.request.intent.slots.title.value
+ if (this.attributes.choice == null) {
+ this.attributes.choice = 'film'
+ }
+ if (this.attributes && this.attributes.choice) {
+ axios.get(Helpers.linkHelper(this.attributes.choice, { 'title': title }, 'search'))
+ .then(function(response) {
+ const year = (vm.attributes.choice === 'film') ? response.data.movies[0].production_year : response.data.shows[0].creation
+ const speechOutput = "L'année de création de " + title + ' est ' + year + '.'
+ vm.response.speak(speechOutput + '' + 'Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' +
+ Helpers.responseHelper(SynopsisUtterance) + '' + Helpers.responseHelper(genreUtterance) + '' + Helpers.responseHelper(lengthUtterrance)
+ ).listen('Quels autres informations voulez vous obtenir ?')
+ return vm.emit(':responseReady')
+ })
+ .catch(function(err) {
+ console.error(err)
+ var speechOutput = "Je n'ai pas trouvé l'année de création "
+ speechOutput += (vm.attributes.choice === 'film') ? 'du film ' : 'de la série '
+ vm.response.speak(speechOutput).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
+ return vm.emit(':responseReady')
+ })
} else {
- return vm.emit(':ask', "Je n'ai pas trouvé le nombre d'épisode de la série : " + title, 'Sur quel série voulez-vous obtenir le nombre d\'épisode ?')
+ return this.emit(':ask', 'Est-ce une série ou un film ?', "Veuillez indiquer s'il s'agit d'une série ou d'un film")
}
- })
- .catch(function (err) {
- console.error(err)
- return vm.emit(':ask', 'Une erreur est survenue. Veuillez réessayer.')
- })
- },
- 'GetDirectorMovieIntent': function () {
- const title = this.event.request.intent.slots.title.value
- this.attributes.choice = 'film'
- const vm = this
- axios.get(Helpers.linkHelper(this.attributes.choice, { 'title': title }, 'search'))
- .then(function (response) {
- if (Utils.request.movieExist(response)) {
- var speechOutput = 'Le film ' + title
- if (response.data.movies[0].director) {
- const director = response.data.movies[0].director
- speechOutput += ' a été réalisé par : ' + director
- } else {
- speechOutput = 'Aucune information n`a été trouvé concernant le réalisateur du film ' + title
- }
- vm.response.speak(speechOutput + '' + 'Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' +
+ },
+
+ 'GetNumberSeasonIntent': function() {
+ const title = this.event.request.intent.slots.title.value
+ this.attributes.choice = 'série'
+ const vm = this
+ axios.get(Helpers.linkHelper(this.attributes.choice, { 'title': title }, 'search'))
+ .then(function(response) {
+ if (Utils.request.serieExist(response)) {
+ const nbSeason = response.data.shows[0].seasons
+ var speechOutput = 'La série ' + title + ' a ' + nbSeason
+ speechOutput += (nbSeason === 1) ? ' saison' : ' saisons'
+ vm.response.speak(speechOutput + '' + 'Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' +
+ Helpers.responseHelper(numberEpisodesUtterance) + '' + Helpers.responseHelper(lengthUtterrance) + '' + Helpers.responseHelper(markUtterance)
+ ).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
+ return vm.emit(':responseReady')
+ } else {
+ return vm.emit(':ask', "Je n'ai pas trouvé le nombre de saison de la série : " + title, 'Sur quel série voulez-vous obtenir le nombre de saison ?')
+ }
+ })
+ .catch(function(err) {
+ console.error(err)
+ return vm.emit(':ask', 'Une erreur est survenue. Veuillez réessayer.')
+ })
+ },
+ 'GetNumberEpisodesIntent': function() {
+ const title = this.event.request.intent.slots.title.value
+ this.attributes.choice = 'série'
+ const vm = this
+ axios.get(Helpers.linkHelper(this.attributes.choice, { 'title': title }, 'search'))
+ .then(function(response) {
+ if (Utils.request.serieExist(response)) {
+ var speechOutput = 'La série ' + title
+ var nbEpisode = -1
+ if (vm.event.request.intent.slots.numberSeason && vm.event.request.intent.slots.numberSeason.value) {
+ const nbSeason = vm.event.request.intent.slots.numberSeason.value
+ if (response.data.shows[0].seasons_details[nbSeason - 1] && response.data.shows[0].seasons_details[nbSeason - 1].episodes) {
+ nbEpisode = response.data.shows[0].seasons_details[nbSeason - 1].episodes
+ speechOutput += ' saison ' + nbSeason
+ } else {
+ vm.response.speak('La série ' + title + ' n\'a pas de saison ' + nbSeason).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
+ return vm.emit(':responseReady')
+ }
+ } else {
+ nbEpisode = response.data.shows[0].episodes
+ }
+ speechOutput += ' a ' + nbEpisode
+ speechOutput += (nbEpisode === 1) ? ' épisode.' : ' épisodes.'
+ vm.response.speak(speechOutput + '' + 'Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' +
Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(genreUtterance) + '' + Helpers.responseHelper(markUtterance)
- ).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
- return vm.emit(':responseReady')
- } else {
- vm.response.speak(Helpers.responseHelper(oeuvreNotFound)).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
- return vm.emit(':responseReady')
+ ).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
+ return vm.emit(':responseReady')
+ } else {
+ return vm.emit(':ask', "Je n'ai pas trouvé le nombre d'épisode de la série : " + title, 'Sur quel série voulez-vous obtenir le nombre d\'épisode ?')
+ }
+ })
+ .catch(function(err) {
+ console.error(err)
+ return vm.emit(':ask', 'Une erreur est survenue. Veuillez réessayer.')
+ })
+ },
+ 'GetDirectorMovieIntent': function() {
+ const title = this.event.request.intent.slots.title.value
+ this.attributes.choice = 'film'
+ const vm = this
+ axios.get(Helpers.linkHelper(this.attributes.choice, { 'title': title }, 'search'))
+ .then(function(response) {
+ if (Utils.request.movieExist(response)) {
+ var speechOutput = 'Le film ' + title
+ if (response.data.movies[0].director) {
+ const director = response.data.movies[0].director
+ speechOutput += ' a été réalisé par : ' + director
+ } else {
+ speechOutput = 'Aucune information n`a été trouvé concernant le réalisateur du film ' + title
+ }
+ vm.response.speak(speechOutput + '' + 'Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' +
+ Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(genreUtterance) + '' + Helpers.responseHelper(markUtterance)
+ ).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
+ return vm.emit(':responseReady')
+ } else {
+ vm.response.speak(Helpers.responseHelper(oeuvreNotFound)).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
+ return vm.emit(':responseReady')
+ }
+ })
+ .catch(function(err) {
+ console.error(err)
+ return vm.emit(':ask', Helpers.responseHelper(errorResponses))
+ })
+ },
+ 'GetLengthIntent': function() {
+ const title = this.event.request.intent.slots.title.value
+ const vm = this
+ if (this.attributes.choice == null) {
+ this.attributes.choice = 'film'
}
- })
- .catch(function (err) {
- console.error(err)
- return vm.emit(':ask', Helpers.responseHelper(errorResponses))
- })
- },
- 'GetLengthIntent': function () {
- const title = this.event.request.intent.slots.title.value
- const vm = this
- if (this.attributes && this.attributes.choice) {
- axios.get(Helpers.linkHelper(this.attributes.choice, { 'title': title }, 'search'))
- .then(function (response) {
- if (Utils.request.movieExist(response) || Utils.request.serieExist(response)) {
- const length = (vm.attributes.choice === 'film') ? Utils.time('film', response.data.movies[0].length) : Utils.time('série', response.data.shows[0].length)
- const speechOutput = 'La durée de ' + title + ' est de : ' + length
- vm.response.speak(speechOutput + '' + 'Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' +
+ if (this.attributes && this.attributes.choice) {
+ axios.get(Helpers.linkHelper(this.attributes.choice, { 'title': title }, 'search'))
+ .then(function(response) {
+ if (Utils.request.movieExist(response) || Utils.request.serieExist(response)) {
+ const length = (vm.attributes.choice === 'film') ? Utils.time('film', response.data.movies[0].length) : Utils.time('série', response.data.shows[0].length)
+ const speechOutput = 'La durée de ' + title + ' est de : ' + length
+ vm.response.speak(speechOutput + '' + 'Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' +
Helpers.responseHelper(SynopsisUtterance) + '' + Helpers.responseHelper(genreUtterance) + '' + Helpers.responseHelper(yearUtterance)
- ).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
- return vm.emit(':responseReady')
- } else {
- vm.response.speak(Helpers.responseHelper(oeuvreNotFound)).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
- return vm.emit(':responseReady')
- }
- }).catch(function (err) {
- console.error(err)
- return vm.emit(':ask', Helpers.responseHelper(errorResponses))
- })
- } else {
- return this.emit(':ask', 'Est-ce une série ou un film ?', "Veuillez indiquer s'il s'agit d'une série ou d'un film")
- }
- },
- 'GetLastEpisodeIntent': function () {
- const title = this.event.request.intent.slots.title.value
- this.attributes.choice = 'série'
- const vm = this
- axios.get(Helpers.linkHelper(this.attributes.choice, { 'title': title }, 'search'))
- .then(function (response) {
- if (Utils.request.serieExist(response)) {
- var speechOutput = 'Le dernier épisode de la série ' + title
- var nbEpisode = -1
- if (response.data.shows[0].seasons_details) {
- const nbSeason = response.data.shows[0].seasons_details.length
- nbEpisode = response.data.shows[0].seasons_details[nbSeason - 1].episodes
- speechOutput += ' est l\'épisode ' + nbEpisode + ' de la saison ' + nbSeason
- vm.response.speak(speechOutput + '' + 'Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' +
- Helpers.responseHelper(numberEpisodesUtterance) + '' + Helpers.responseHelper(numberSeasonUtterance) + '' + Helpers.responseHelper(markUtterance)
- ).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
- return vm.emit(':responseReady')
- } else {
- vm.response.speak(Helpers.responseHelper(infNotFound)).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
- return vm.emit(':responseReady')
- }
+ ).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
+ return vm.emit(':responseReady')
+ } else {
+ vm.response.speak(Helpers.responseHelper(oeuvreNotFound)).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
+ return vm.emit(':responseReady')
+ }
+ }).catch(function(err) {
+ console.error(err)
+ return vm.emit(':ask', Helpers.responseHelper(errorResponses))
+ })
} else {
- vm.response.speak(Helpers.responseHelper(oeuvreNotFound)).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
- return vm.emit(':responseBody')
+ return this.emit(':ask', 'Est-ce une série ou un film ?', "Veuillez indiquer s'il s'agit d'une série ou d'un film")
}
- })
- .catch(function (err) {
- console.error(err)
- return vm.emit(':ask', Helpers.responseHelper(errorResponses))
- })
- },
- 'GetGenreIntent': function () {
- const title = this.event.request.intent.slots.title.value
- const vm = this
- if (this.attributes && this.attributes.choice) {
- axios.get(Helpers.linkHelper(this.attributes.choice, { 'title': title }, 'search'))
- .then(function (response) {
- if (Utils.request.movieExist(response) || Utils.request.serieExist(response)) {
- const genres = (vm.attributes.choice === 'film') ? response.data.movies[0].genres : response.data.shows[0].genres
- const speechOutput = title + ' a pour genre : ' + genres.join(', ')
-
- vm.response.speak(speechOutput + '' + 'Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' +
- Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(SynopsisUtterance) + '' + Helpers.responseHelper(markUtterance)
- ).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
- return vm.emit(':responseReady')
- } else {
- vm.response.speak(Helpers.responseHelper(infNotFound)).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
- return vm.emit(':responseReady')
- }
- }).catch(function (err) {
- console.error(err)
- return vm.emit(':ask', Helpers.responseHelper(errorResponses))
- })
- } else {
- return this.emit(':ask', 'Est-ce une série ou un film ?', "Veuillez indiquer s'il s'agit d'une série ou d'un film")
- }
- },
- 'GetCharactersIntent': function () {
- const title = this.event.request.intent.slots.title.value
- const vm = this
- if (this.attributes && this.attributes.choice) {
- axios.get(Helpers.linkHelper(this.attributes.choice, { 'title': title }, 'search'))
- .then(function (response) {
- if (Utils.request.movieExist(response) || Utils.request.serieExist(response)) {
- const id = (vm.attributes.choice === 'film') ? response.data.movies[0].id : response.data.shows[0].id
- var speechOutput = 'Les acteurs de ' + title + 'sont : '
- const vm2 = vm
- axios.get(Helpers.linkHelper(vm2.attributes.choice, { 'id': id }, 'characters'))
- .then(function (response2) {
- if (response2.data.characters.length > 5) {
- const firstFives = response2.data.characters.slice(0, 4)
- firstFives.forEach(function (item, index, array) {
- speechOutput += '' + item.actor + ' dans le role de : ' + item.name
- })
+ },
+ 'GetLastEpisodeIntent': function() {
+ const title = this.event.request.intent.slots.title.value
+ this.attributes.choice = 'série'
+ const vm = this
+ axios.get(Helpers.linkHelper(this.attributes.choice, { 'title': title }, 'search'))
+ .then(function(response) {
+ if (Utils.request.serieExist(response)) {
+ var speechOutput = 'Le dernier épisode de la série ' + title
+ var nbEpisode = -1
+ if (response.data.shows[0].seasons_details) {
+ const nbSeason = response.data.shows[0].seasons_details.length
+ nbEpisode = response.data.shows[0].seasons_details[nbSeason - 1].episodes
+ speechOutput += ' est l\'épisode ' + nbEpisode + ' de la saison ' + nbSeason
+ vm.response.speak(speechOutput + '' + 'Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' +
+ Helpers.responseHelper(numberEpisodesUtterance) + '' + Helpers.responseHelper(numberSeasonUtterance) + '' + Helpers.responseHelper(markUtterance)
+ ).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
+ return vm.emit(':responseReady')
+ } else {
+ vm.response.speak(Helpers.responseHelper(infNotFound)).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
+ return vm.emit(':responseReady')
+ }
} else {
- response2.data.characters.forEach(function (item, index, array) {
- speechOutput += '' + item.actor + ' dans le role de : ' + item.name
- })
+ vm.response.speak(Helpers.responseHelper(oeuvreNotFound)).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
+ return vm.emit(':responseBody')
}
- vm2.response.speak(speechOutput + '' + 'Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' +
- Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(SynopsisUtterance) + '' + Helpers.responseHelper(markUtterance)
- ).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
- return vm2.emit(':responseReady')
- }).catch(function (err) {
+ })
+ .catch(function(err) {
console.error(err)
- return vm2.emit(':ask', Helpers.responseHelper(errorResponses))
- })
- } else {
- vm.response.speak(Helpers.responseHelper(infNotFound)).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
- return vm.emit(':responseReady')
- }
- }).catch(function (err) {
- console.error(err)
- return vm.emit(':ask', Helpers.responseHelper(errorResponses))
- })
- } else {
- return this.emit(':ask', 'Est-ce une série ou un film ?', "Veuillez indiquer s'il s'agit d'une série ou d'un film")
- }
- },
- 'GetSimilarsIntent': function () {
- const title = this.event.request.intent.slots.title.value
- const vm = this
- if (this.attributes && this.attributes.choice) {
- axios.get(Helpers.linkHelper(this.attributes.choice, { 'title': title }, 'search'))
- .then(function (response) {
- if (Utils.request.movieExist(response) || Utils.request.serieExist(response)) {
- const id = (vm.attributes.choice === 'film') ? response.data.movies[0].id : response.data.shows[0].id
- var speechOutput = 'Les ' + vm.attributes.choice + 'similaires à ' + title + ' sont : '
- const vm2 = vm
- axios.get(Helpers.linkHelper(vm.attributes.choice, { 'id': id }, 'similars'))
- .then(function (response2) {
- if (response2.data.similars.length > 0) {
- if (response2.data.similars.length > 5) {
- const firstFives = response2.data.similars.slice(0, 4)
- firstFives.forEach(function (item, index, array) {
- speechOutput += ' ' + (vm2.attributes.choice === 'film') ? item.movie_title : item.show_title
- })
- } else {
- response2.data.similars.forEach(function (item, index, array) {
- speechOutput += ' ' + (vm2.attributes.choice === 'film') ? item.movie_title : item.show_title
- })
- }
- } else {
- if (vm2.attributes.choice === 'film') {
- speechOutput = 'Aucun' + vm2.attributes.choice + 'similaires à ' + title + "n'existe"
- } else {
- speechOutput = 'Aucune' + vm2.attributes.choice + 'similaires à ' + title + "n'existe"
- }
- }
+ return vm.emit(':ask', Helpers.responseHelper(errorResponses))
+ })
+ },
+ 'GetGenreIntent': function() {
+ const title = this.event.request.intent.slots.title.value
+ const vm = this
+ if (this.attributes.choice == null) {
+ this.attributes.choice = 'film'
+ }
+ if (this.attributes && this.attributes.choice) {
+ axios.get(Helpers.linkHelper(this.attributes.choice, { 'title': title }, 'search'))
+ .then(function(response) {
+ if (Utils.request.movieExist(response) || Utils.request.serieExist(response)) {
+ const genres = (vm.attributes.choice === 'film') ? response.data.movies[0].genres : response.data.shows[0].genres
+ const speechOutput = title + ' a pour genre : ' + genres.join(', ')
+
+ vm.response.speak(speechOutput + '' + 'Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' +
+ Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(SynopsisUtterance) + '' + Helpers.responseHelper(markUtterance)
+ ).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
+ return vm.emit(':responseReady')
+ } else {
+ vm.response.speak(Helpers.responseHelper(infNotFound)).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
+ return vm.emit(':responseReady')
+ }
+ }).catch(function(err) {
+ console.error(err)
+ return vm.emit(':ask', Helpers.responseHelper(errorResponses))
+ })
+ } else {
+ return this.emit(':ask', 'Est-ce une série ou un film ?', "Veuillez indiquer s'il s'agit d'une série ou d'un film")
+ }
+ },
+ 'GetCharactersIntent': function() {
+ const title = this.event.request.intent.slots.title.value
+ const vm = this
+ if (this.attributes.choice == null) {
+ this.attributes.choice = 'film'
+ }
+ if (this.attributes && this.attributes.choice) {
+ axios.get(Helpers.linkHelper(this.attributes.choice, { 'title': title }, 'search'))
+ .then(function(response) {
+ if (Utils.request.movieExist(response) || Utils.request.serieExist(response)) {
+ const id = (vm.attributes.choice === 'film') ? response.data.movies[0].id : response.data.shows[0].id
+ var speechOutput = 'Les acteurs de ' + title + 'sont : '
+ const vm2 = vm
+ axios.get(Helpers.linkHelper(vm2.attributes.choice, { 'id': id }, 'characters'))
+ .then(function(response2) {
+ if (response2.data.characters.length > 5) {
+ const firstFives = response2.data.characters.slice(0, 4)
+ firstFives.forEach(function(item, index, array) {
+ speechOutput += '' + item.actor + ' dans le role de : ' + item.name
+ })
+ } else {
+ response2.data.characters.forEach(function(item, index, array) {
+ speechOutput += '' + item.actor + ' dans le role de : ' + item.name
+ })
+ }
+ vm2.response.speak(speechOutput + '' + 'Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' +
+ Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(SynopsisUtterance) + '' + Helpers.responseHelper(markUtterance)
+ ).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
+ return vm2.emit(':responseReady')
+ }).catch(function(err) {
+ console.error(err)
+ return vm2.emit(':ask', Helpers.responseHelper(errorResponses))
+ })
+ } else {
+ vm.response.speak(Helpers.responseHelper(infNotFound)).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
+ return vm.emit(':responseReady')
+ }
+ }).catch(function(err) {
+ console.error(err)
+ return vm.emit(':ask', Helpers.responseHelper(errorResponses))
+ })
+ } else {
+ return this.emit(':ask', 'Est-ce une série ou un film ?', "Veuillez indiquer s'il s'agit d'une série ou d'un film")
+ }
+ },
+ 'GetSimilarsIntent': function() {
+ const title = this.event.request.intent.slots.title.value
+ const vm = this
+ if (this.attributes.choice == null) {
+ this.attributes.choice = 'film'
+ }
- vm.response.speak(speechOutput + '' + 'Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' +
+ if (this.attributes && this.attributes.choice) {
+ axios.get(Helpers.linkHelper(this.attributes.choice, { 'title': title }, 'search'))
+ .then(function(response) {
+ if (Utils.request.movieExist(response) || Utils.request.serieExist(response)) {
+ const id = (vm.attributes.choice === 'film') ? response.data.movies[0].id : response.data.shows[0].id
+ var speechOutput = 'Les ' + vm.attributes.choice + 'similaires à ' + title + ' sont : '
+ const vm2 = vm
+ axios.get(Helpers.linkHelper(vm.attributes.choice, { 'id': id }, 'similars'))
+ .then(function(response2) {
+ if (response2.data.similars.length > 0) {
+ if (response2.data.similars.length > 5) {
+ const firstFives = response2.data.similars.slice(0, 4)
+ firstFives.forEach(function(item, index, array) {
+ console.log(vm2.attributes.choice)
+ speechOutput += ' ' + (vm2.attributes.choice === 'film') ? (item.movie_title + "") : (item.show_title + "")
+ })
+ } else {
+ response2.data.similars.forEach(function(item, index, array) {
+ console.log(vm2.attributes.choice)
+ console.log(item.show_title)
+ speechOutput += ' ' + (vm2.attributes.choice === 'film') ? (item.movie_title + "") : (item.show_title + "")
+ })
+ }
+ } else {
+ if (vm2.attributes.choice === 'film') {
+ speechOutput = 'Aucun' + vm2.attributes.choice + 'similaires à ' + title + "n'existe"
+ } else {
+ speechOutput = 'Aucune' + vm2.attributes.choice + 'similaires à ' + title + "n'existe"
+ }
+ }
+
+ vm.response.speak(speechOutput + '' + 'Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' +
Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(SynopsisUtterance) + '' + Helpers.responseHelper(markUtterance)
- ).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' +
+ ).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' +
Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(SynopsisUtterance) + '' + Helpers.responseHelper(markUtterance)
- )
- return vm.emit(':responseReady')
- }).catch(function (err) {
- console.error(err)
- return vm.emit(':ask', Helpers.responseHelper(errorResponses))
- })
- } else {
- vm.response.speak(Helpers.responseHelper(infNotFound)).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' +
+ )
+ return vm.emit(':responseReady')
+ }).catch(function(err) {
+ console.error(err)
+ return vm.emit(':ask', Helpers.responseHelper(errorResponses))
+ })
+ } else {
+ vm.response.speak(Helpers.responseHelper(infNotFound)).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' +
Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(SynopsisUtterance) + '' + Helpers.responseHelper(markUtterance)
- )
- return vm.emit(':responseReady')
- }
- }).catch(function (err) {
- console.error(err)
- return vm.emit(':ask', Helpers.responseHelper(errorResponses))
- })
- } else {
- return this.emit(':ask', 'Est-ce une série ou un film ?', "Veuillez indiquer s'il s'agit d'une série ou d'un film")
+ )
+ return vm.emit(':responseReady')
+ }
+ }).catch(function(err) {
+ console.error(err)
+ return vm.emit(':ask', Helpers.responseHelper(errorResponses))
+ })
+ } else {
+ return this.emit(':ask', 'Est-ce une série ou un film ?', "Veuillez indiquer s'il s'agit d'une série ou d'un film")
+ }
+ },
+ 'Unhandled': function() {
+ this.attributes.speechOutput = this.t('HELP_MESSAGE')
+ this.attributes.repromptSpeech = this.t('HELP_REPROMPT')
+ this.emit(':ask', this.attributes.speechOutput, this.attributes.repromptSpeech)
+ },
+ 'AMAZON.HelpIntent': function() {
+ this.response.speak('La skill Watch it est faites pour vous aider à trouver des informations à propos de films et de séries.' + 'Dans un premier temps dites film si vous voulez des informations sur un film ou série si vous voulez des informations sur une série Ensuite,' + 'Voilà quelques exemples de phrases que vous pouvez dire pour votre recherche : ' +
+ Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(SynopsisUtterance) + '' + Helpers.responseHelper(markUtterance)
+ ).listen('Voilà quelques exemples de phrases que vous pouvez dire pour aller plus loin dans votre recherche : ' + Helpers.responseHelper(yearUtterance) + '' + Helpers.responseHelper(charactersUtterance))
+ this.emit(':responseReady')
+ },
+ 'AMAZON.CancelIntent': function() {
+ this.response.speak("Merci et à bientôt")
+ this.emit(':responseReady')
}
- },
- 'Unhandled': function () {
- this.attributes.speechOutput = this.t('HELP_MESSAGE')
- this.attributes.repromptSpeech = this.t('HELP_REPROMPT')
- this.emit(':ask', this.attributes.speechOutput, this.attributes.repromptSpeech)
- },
- 'AMAZON.HelpIntent': function () {
- this.response.speak('aide').listen('re aide')
- this.emit(':responseReady')
- },
- 'AMAZON.CancelIntent': function () {
- this.response.speak('annuler')
- this.emit(':responseReady')
- },
- 'AMAZON.StopIntent': function () {
- this.response.speak('stop')
- this.emit(':responseReady')
- }
}
-exports.handler = function (event, context, callback) {
- const alexa = Alexa.handler(event, context, callback)
- alexa.appId = process.env.APP_ID
- alexa.registerHandlers(handlers)
- alexa.execute()
-}
+exports.handler = function(event, context, callback) {
+ const alexa = Alexa.handler(event, context, callback)
+ alexa.appId = process.env.APP_ID
+ alexa.registerHandlers(handlers)
+ alexa.execute()
+}
\ No newline at end of file
diff --git a/models/fr-FR.json b/models/fr-FR.json
index 3e94c28..38a8092 100644
--- a/models/fr-FR.json
+++ b/models/fr-FR.json
@@ -61,19 +61,26 @@
},
{
"name": "AMAZON.HelpIntent",
- "samples": []
- },
- {
- "name": "AMAZON.StopIntent",
- "samples": []
+ "samples": [
+ "Aide",
+ "Comment utilise-t-on cette skill",
+ "Comment utilise-t-on cette watch it",
+ "A l'aide",
+ "Aide moi",
+ "Commandes",
+ "Utilisation"
+
+ ]
},
{
"name": "AMAZON.CancelIntent",
- "samples": []
- },
- {
- "name": "AMAZON.NavigateHomeIntent",
- "samples": []
+ "samples": [
+ "Arrête l'intent",
+ "Arrête toi",
+ "Laisse tomber",
+ "Arrête",
+ "Passons à autre chose"
+ ]
},
{
"name": "ChoiceIntent",