const Alexa = require('ask-sdk-core');
const http = require('http');
const querystring = require('querystring');
var fs = require('fs');
function film_annee(annee) {
return new Promise(((resolve, reject) => {
var post_data = querystring.stringify({
'primary_release_year' : annee
});
var options = {
host: '195.83.128.21',
port: 80,
path: '/~dev1908/apialexa/alexa.php',
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': Buffer.byteLength(post_data)
}
};
const request = http.request(options, (response) => {
response.setEncoding('utf8');
let returnData = '';
console.log(response);
response.on('data', (chunk) => {
returnData += chunk;
});
response.on('end', () => {
resolve(returnData);
});
response.on('error', (error) => {
reject(error);
});
});
request.write(post_data);
request.end();
}));
}
const LaunchRequestHandler = {
canHandle(handlerInput) {
return handlerInput.requestEnvelope.request.type === 'LaunchRequest';
},
handle(handlerInput) {
const speechText = 'Bonjour, quelle est votre demande ?';
return handlerInput.responseBuilder
.speak(speechText)
.reprompt(speechText)
.withSimpleCard('Hello World', speechText)
.getResponse();
}
};
const filmannee = {
canHandle(handlerInput) {
return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest'
&& Alexa.getIntentName(handlerInput.requestEnvelope) === 'film_annee';
},
async handle(handlerInput) {
var annee = Alexa.getSlotValue(handlerInput.requestEnvelope, 'annee');
const lareponse = await film_annee(annee);
return handlerInput.responseBuilder
.speak(lareponse)
.reprompt(lareponse)
.withSimpleCard('Hello World', lareponse)
.getResponse();
}
};
function film_infos(infos) {
return new Promise(((resolve, reject) => {
var post_data = querystring.stringify({
'query' : infos
});
var options = {
host: '195.83.128.21',
port: 80,
path: '/~dev1908/apialexa/alexa.php',
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': Buffer.byteLength(post_data)
}
};
const request = http.request(options, (response) => {
response.setEncoding('utf8');
let returnData = '';
console.log(response);
response.on('data', (chunk) => {
returnData += chunk;
});
response.on('end', () => {
resolve(returnData);
});
response.on('error', (error) => {
reject(error);
});
});
request.write(post_data);
request.end();
}));
}
const filminfos = {
canHandle(handlerInput) {
return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest'
&& Alexa.getIntentName(handlerInput.requestEnvelope) === 'film_infos';
},
async handle(handlerInput) {
var infos = Alexa.getSlotValue(handlerInput.requestEnvelope, 'infos');
const lareponse = await film_infos(infos);
return handlerInput.responseBuilder
.speak(lareponse)
.reprompt(lareponse)
.withSimpleCard('Hello World', lareponse)
.getResponse();
}
};
exports.handler = Alexa.SkillBuilders.custom().addRequestHandlers( LaunchRequestHandler, filmannee, filminfos ).lambda();