ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • node.js - KakaoTalk API Ver 1
    Web/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

    댓글

Designed by Tistory.