Commit d4d64f04 by Alan de Oliveira

some corrections

parent d1cb609e
exports.get = (conv) => { exports.action = (conv) => {
conv.ask('Eu não consigo ajudar agora'); conv.ask('Eu não consigo ajudar agora');
} }
\ No newline at end of file
const { dialogflow, SimpleResponse,BasicCard, Carousel, BrowseCarousel, BrowseCarouselItem, Image, Item, List } = require('actions-on-google'); const { dialogflow, SimpleResponse,BasicCard, Carousel, BrowseCarousel,
BrowseCarouselItem, Image, Item, List } = require('actions-on-google');
const request = require('sync-request'); const request = require('sync-request');
const BASE_URL = 'https://api.colorado.ifro.edu.br/academico';
const AUTHORIZATION_KEY = 'key=Bi479DxWjsNFFcZOVyySbx2vZ7rhhdU4Gr8OeJ0W1qvE7hGHxsQlwhbUZVRttmsQ';
const base_url = 'https://api.colorado.ifro.edu.br/academico';
function findCurso(nomeCurso) {
exports.get = (conv) => {
let params = conv.parameters;
//Selecionando o curso //Selecionando o curso
var req = request('GET', `${base_url}/unidade/4/cursos`, { var req = request('GET', `${BASE_URL}/unidade/4/cursos`, {
headers: { headers: {
Authorization: 'key=Bi479DxWjsNFFcZOVyySbx2vZ7rhhdU4Gr8OeJ0W1qvE7hGHxsQlwhbUZVRttmsQ' Authorization: AUTHORIZATION_KEY
} }
}); });
const cursos = JSON.parse(req.getBody('utf8')).cursos; const cursos = JSON.parse(req.getBody('utf8')).cursos;
let curso = cursos.filter(c => c.nome.toLowerCase().includes(params.curso)); let curso = cursos.filter(c => c.nome.toLowerCase().includes(nomeCurso));
curso = curso[0];
return curso[0];
}
function findTurma(curso, ano, turma) {
//Selecionando a turma //Selecionando a turma
req = request('GET', `${base_url}/curso/${curso.cursoId}/turmas/abertas`, { req = request('GET', `${BASE_URL}/curso/${curso.cursoId}/turmas/abertas`, {
headers: { headers: {
Authorization: 'key=Bi479DxWjsNFFcZOVyySbx2vZ7rhhdU4Gr8OeJ0W1qvE7hGHxsQlwhbUZVRttmsQ' Authorization: AUTHORIZATION_KEY
} }
}); });
const turmas = JSON.parse(req.getBody('utf8')).turmas; let turmas = JSON.parse(req.getBody('utf8')).turmas;
console.log(`Turmas` + JSON.stringify(turmas)); console.log(`Turmas` + JSON.stringify(turmas));
let turma = turmas.filter(t => turmas = turmas.filter(t =>
t.identificador.includes(params.ano + params.turma.toUpperCase())); t.identificador.includes(ano + turma.toUpperCase()));
turma = turma[0];
return turmas[0];
}
function findHorario(turma) {
//Buscando os horários //Buscando os horários
req = request('GET', `${base_url}/turma/${turma.turmaId}/horarios`, { req = request('GET', `${BASE_URL}/turma/${turma.turmaId}/horarios`, {
headers: { headers: {
Authorization: 'key=Bi479DxWjsNFFcZOVyySbx2vZ7rhhdU4Gr8OeJ0W1qvE7hGHxsQlwhbUZVRttmsQ' Authorization: AUTHORIZATION_KEY
} }
}); });
const horarios = JSON.parse(req.getBody('utf8')).horarios; const horarios = JSON.parse(req.getBody('utf8')).horarios;
let horario = horarios[0]; return horarios[0];
}
exports.action = (conv) => {
let params = conv.parameters;
const curso = findCurso(params.curso);
const turma = findTurma(curso, params.ano, params.turma);
const horario = findHorario(turma);
//Gerando mensagens
let text = `Dia **${horario.dataHorario}**, *${horario.diaSemana}*: \n`; let text = `Dia **${horario.dataHorario}**, *${horario.diaSemana}*: \n`;
let speech = "Encontrei essas aulas: "; let speech = "Encontrei essas aulas: ";
horario.aulas.forEach(a => { horario.aulas.forEach(a => {
...@@ -53,17 +71,20 @@ exports.get = (conv) => { ...@@ -53,17 +71,20 @@ exports.get = (conv) => {
}); });
// Envio um texto falado
conv.ask(new SimpleResponse({ conv.ask(new SimpleResponse({
speech: speech, speech: speech,
text: 'aqui está:' text: 'aqui está:'
})); }));
//Se houver suporte para tela, envio um BasicCard para visualização
if (conv.surface.capabilities.has('actions.capability.SCREEN_OUTPUT')) {
conv.ask(new BasicCard({ conv.ask(new BasicCard({
text: text, // Note the two spaces before '\n' required for text: text,
// a line break to be rendered in the card.
subtitle: `${curso.nome}`, subtitle: `${curso.nome}`,
title: `horário de ${horario.dataHorario} `, title: `HORÁRIO do dia ${horario.dataHorario} `,
display: 'CROPPED', display: 'CROPPED',
//speech: speech,
})); }));
}
} }
\ No newline at end of file
...@@ -5,9 +5,7 @@ const help = require('./help'); ...@@ -5,9 +5,7 @@ const help = require('./help');
let app = dialogflow({debug: true}); let app = dialogflow({debug: true});
app.intent('horario', horario.get); app.intent('horario', horario.action);
app.intent('help',(conv) => { app.intent('help',help.action);
conv.ask('eu ajudo sim, agora mesmo');
});
exports.actionsifro = functions.https.onRequest(app); exports.actionsifro = functions.https.onRequest(app);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment