학식을 카톡봇으로 구현하는 예제에 대한 지식인 답변을 달아줌.
질문글:
https://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040202&docId=311332856&ref=me3lnk
const School = require('node-school-kr');
const school = new School();
school.init(school.eduType.middle,school.region.gyeonggi,'J100004864');
var express = require('express');
var http = require('http');
var bodyParser = require('body-parser');
var app = express();
//저는 포트를 8080으로 설정했습니다.
app.listen(8080)
app.use(bodyParser.urlencoded({extended: false}));
app.use(bodyParser.json());
app.get('/keyboard', function(req, res){
var data = {
'type':'buttons',
'buttons' : ['오늘 급식','내일 급식','사용법','문제점']
};
res.json(data);
});
app.post('/message',function (req,res){
var msg = req.body.content
console.log('전달받은 메시지:'+msg);
var send = {};
switch(msg){
case '오늘 급식':
school.getMeal().then(function(result){
//text에 string을 return해줄겁니다!!
var string="";
for(var date in result){
if(result[date]!=""){
string+=result[date]+"\n"
}
//날짜들이 프로퍼티로 쭈루룩나오고
//month가 나오면 그때부터는 필요없음.
if(date=="month") break;
}
//이부분에서 send하면 클라이언트에게 보내는 반응이 끝인데
//여기서 send를 보내시면 안되죠.
//res.send(result)
//res.Json이아니라 res.json인데, 위에 get에선 잘 쓰신 것을 보아 오타이신듯
res.json({
"message": {
// result['']이 뭔지 모르겠네요.
//result의 프로퍼티 중 ''이 들어간 애들을 모두 출력하시겠다는 의도이신가요?
"text": string
},
"keyboard":{
'type':'buttons',
'buttons' : ['오늘 급식','내일 급식','사용법','문제점']
}
})
})
}
});
'Node.js' 카테고리의 다른 글
내부함수에서 외부함수로 리턴값 전달하기, 프로미스 리턴하기 (0) | 2019.01.20 |
---|---|
프론트엔드 예제 블로그 만들기 (0) | 2019.01.05 |
Node js로 유튜브 동영상 다운로드 받기 (0) | 2018.10.02 |
nodejs request 모듈 기본 및 pipe 메소드에 대해 (0) | 2018.09.22 |
유튜브 API 사용법 - 동영상 검색하기 (8) | 2018.08.20 |