message.js 2.1 KB
var express = require('express');
var request = require('request');
var app = express.Router();

// Naver Auth Key
var client_id = '86rKmat0DijccSxKa01P';
var client_secret = 'rMapNjB8DP';

// Naver API URL
var api_url = 'https://openapi.naver.com/v1/papago/n2mt';

// Kakao Message API
app.post('/', 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 == '/시작'){
    res.set('content-type', 'application/json');
    res.json({
      "message": {
        "text": "언어를 설정하고 싶으면 /설정 이라고 타이핑 해주세요"
      },
      "keyboard": {
        "type": "text"
      }
    });
  }
else{
  // Naver Papago Translate
  var options = {
    url: api_url,
    // 한국어(source : ko), 영어(target: en), 카톡에서 받는 메시지(text)
    form: {'source':'ko', 'target':'en', 'text':req.body.content},
    headers: {'X-Naver-Client-Id': client_id, 'X-Naver-Client-Secret': client_secret}
  };
console.log('aa');
  // Naver Post API
  request.post(options, function(error, response, body){
    // Translate API Sucess
    if(!error && response.statusCode == 200){
      // JSON
      var objBody = JSON.parse(response.body);
      // Message 잘 찍히는지 확인
      console.log(objBody.message.result.translatedText);

      // Kakao Message API
      let massage = {
        "message": {
          // Naver API Translate 결과를 Kakao Message
          "text": objBody.message.result.translatedText
        },
      };

      // Kakao Message API 전송
      res.set({
        'content-type': 'application/json'
      }).send(JSON.stringify(massage));
    }else{
      // Naver Message Error 발생
      res.status(response.statusCode).end();
      console.log('error = ' + response.statusCode);

      let massage = {
        "message": {
          "text": response.statusCode
        },
      };

      // Kakao에 Error Message
      res.set({
        'content-type': 'application/json'
      }).send(JSON.stringify(massage));
    }
  });
}
});

module.exports = app;