-
node.js - KakaoTalk API Ver 1Web/Node.js 2018. 2. 1. 03:10반응형
[작업폴더]$ npm install express
[작업폴더]$ npm install body-parser
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
// parse application/json
app.use(bodyParser.json());
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: true }));
//초기 상태 get
app.get('/keyboard', function(req, res){
const menu = {
"type": 'buttons',
"buttons": ["안녕하세요", "반갑습니다"]
};
res.set({
'content-type': 'application/json'
}).send(JSON.stringify(menu));
});
//카톡 메시지 처리
app.post('/message',function (req, res) {
const _obj = {
user_key: req.body.user_key,
type: req.body.type,
content: req.body.content
};
console.log(_obj.content)
//안녕이 입력되면
if(_obj.content == '안녕하세요')
{
let massage = {
"message": {
"text": '안녕'
},
"keyboard": {
"type": "buttons",
"buttons": [
"누구니",
"메롱"
]
}
};
// 카톡으로 전송
res.set({
'content-type': 'application/json'
}).send(JSON.stringify(massage));
}
//메롱이라고 입력되었다면
else if(_obj.content == '반갑습니다')
{
let massage = {
"message": {
"text": '반가워요'
},
"keyboard": {
"type": "buttons",
"buttons": [
"안녕하세요",
"반갑습니다"
]
}
};
res.set({
'content-type': 'application/json'
}).send(JSON.stringify(massage));
}
else if(_obj.content == '누구세요')
{
let massage = {
"message": {
"text": '비밀이에요'
},
"keyboard": {
"type": "buttons",
"buttons": [
"안녕하세요",
"반갑습니다"
]
}
};
res.set({
'content-type': 'application/json'
}).send(JSON.stringify(massage));
}
//예외 처리...
//하지만 현재는 버튼 방식이기에 이 루틴을 탈 수가 없다.
else {
let massage = {
"message": {
"text": '다시 입력해주세요'
},
"keyboard": {
"type": "buttons",
"buttons": [
"안녕하세요",
"반갑습니다",
"누구세요"
]
}
};
res.set({
'content-type': 'application/json'
}).send(JSON.stringify(massage));
}
});
//8000포트 서버
app.listen(8000, function() {
});
반응형'Web > Node.js' 카테고리의 다른 글
node.js - var, let, const (0) 2018.07.10 Node.js KakaoTalk - API 2 (0) 2018.05.02 Nodejs Setting (0) 2017.09.27 npm 모듈 설치 (0) 2017.09.27 내장 모듈 사용하기 (0) 2017.09.27 댓글