투명한 기부를 하고싶다면 이 링크로 와보세요! 🥰 (클릭!)
바이낸스(₿) 수수료 평생 20% 할인받는 링크로 가입하기! 🔥 (클릭!)
이 글은
Node.js로 카카오톡 플러스 친구 봇 만들기 01 (https://wingnim.tistory.com/entry/Nodejs%EB%A1%9C-%EC%B9%B4%EC%B9%B4%EC%98%A4%ED%86%A1-%ED%94%8C%EB%9F%AC%EC%8A%A4-%EC%B9%9C%EA%B5%AC-%EB%B4%87-%EB%A7%8C%EB%93%A4%EA%B8%B0-01)
로 부터 읽으면 되고
Node.js로 카카오톡 플러스 친구 봇 만들기 02 (https://wingnim.tistory.com/entry/Nodejs%EB%A1%9C-%EC%B9%B4%EC%B9%B4%EC%98%A4%ED%86%A1-%ED%94%8C%EB%9F%AC%EC%8A%A4-%EC%B9%9C%EA%B5%AC-%EB%B4%87-%EB%A7%8C%EB%93%A4%EA%B8%B0-02?category=750003)
에서 이어진다.
지난번엔 keyboard로의 요청에 응답했다면
이번엔 사용자가 버튼을 클릭했을 때 답장을 하는 부분을 만들어 볼 것이다.
아래 글을 제대로 이해할 수 있을 사람이라면 이미 다른 고오오급스러운 글을 읽고 있겠지만
당신은 고오오급 프로그래머들이나 이해할 수 있게 쓰여진 글을 보며 그나마 따라할 수 있는 글이 이 글 밖에 없어 울며 겨자먹기로 이 글을 볼 수도 있기에,
아래 글을 이해하지 못해도 따라할 수 있도록 역시 글을 진행해 나가도록 하겠다.
그래도 한번 읽어나 보자.
그냥 사용자가 서버에게 무슨 말을 하면 (우리가 저번 글에서 만든 소스코드로 치면 2지선다 중 하나를 고르게 되면)
그에 대한 답을 보내주기 위해 /message 라는 url을 이용해야 하는 것 같다.
조금더 자세하게 이런 형식으로 보내면 된다는데,
뭐 이해 안가더라도 너무 겁먹지 말고 그냥 따라해보도록 하자.
일단 저번글과 같이 message라는 url에 반응할 수 있도록 1번과 2번 주석 부분 소스를 추가했다.
그리고 message.js를 다음과 같이 추가했다.
우선 router.post라는 점이 달라졌는데, 그건 그냥 카카오에서 post 형식으로 받으라고 해서 따르는 것 뿐이다ㅠ
그냥 뭔지 몰라도 걍 하라니까 하나부다 하자.
카카오에서 보내준 정보는 우리 소스코드 중 req.body에 들어있다.
좀 더 자세한 디테일은 위의 소스 주석과 api documentation을 읽어보도록 하자.
그러면 사용자의 요청에 따라 답장을 어떻게 보내면 될까?
아래 소스를 따라 치면서 설명을 읽도록 하자....(엉엉 ㅠㅠㅠㅠㅠ)
1 - 카카오에서 보내준 정보를 object라는 곳에 담았다.
2 - 카카오 플러스친구는 우리가 답장을 보내주면서, 사용자에게 또 다시 어떤 선택지를 줄 것인지 결정할 수 있다.
쉽게 생각해서 우리가 답장 보내고 나서 다시 2지선다 질문지를 던져줄 포멧을 만들어 놓는 것이다.
3 - 카카오에서 보내준 정보를 object에 담았다면, 우리가 보낼 정보를 res_object에 담을 것이다 .
4 - 아무리 몰라도 이 글을 읽는다면 if문 정도는 알았으면 하는데...ㅠㅠ 여튼 대충 보면 알겠지만 사용자가 "노래 추천해줘." 라는 입력을 했더라면
답장으로 "조지 - boat 어때?" 라고 보내줄 res_object를 저장한다. (이제 보니 어떄네...)
5 - 마찬가지로 네 노래로 추천해달라고 하면 Jinyo 수면증을 추천해준다.
참고로 난 jinyo라는 싱어송라이터 명으로 활동중이고 얼마전에 수면증이라는 노래를 발매했다
6 - 그리고 그 res_object를 답장으로 보내준다.
여기까지 짰으면
다시 아까 폴더로 가서 터미널 창을 열고
npm install
을 하자.
이거는 아까 오지게 생성된 코드의 의존성 패키지들을 다 인스톨 하는건데
몰라도 되는 설명이다. 그냥 무시하자
다 끝났다면 npm start 를 쳐보자 ^_^
다음과 같은 결과가 나오고
지금 놀랍게도 당신의 컴퓨터에서 서버가 구동중이다 ㅋ_ㅋ
못 믿겠다면
http://localhost:3000 을 접속해보자.
이케 뜨는거면 지금 구동중이 맞는거다.
(만약 뭔 오류가 떴으면 아래에 소스 줄테니까 복붙해보고 다시 해보셈 ㅠ_ㅠ)
아 조금 실감이 안나나? ^0^7
그러면
http://localhost:3000/keyboard를 접속해보자
헤...헤헷...헤헷....
뭔가 만들었던 내용들이 쭉쭉 나오지 않음?
헤헷...헤헷....
안되는분들은 소스 복붙해줄테니까 함 다시 확인해보고
사실 내 컴퓨터를 서버로 쓰기엔
내 컴퓨터를 24시간 켜놓기 애매하지 않음?
그래서 다음 시간엔 호스팅 서버에 내 서버를 올려놓는 법에 대해서 알려주도록 하겠음.
app.js
message.js