PHP와 카카오톡(Kakao Talk) 자동응답 API를 이용하여 학식 봇 제작해보자 !
어느 평화로운 학교에서 한 잉여가 있었다. 그 잉여는 기말고사가 머지 않았는데 갑자기 개발을 하고 싶어졌다..
나는 학식을 먹지 않는 사람이지만, 아주 가끔 학식이 뭐가 나오는지 궁금할 때 홈페이지 들어가는게 너무 귀찮았다.
개발하고 싶은 마음과 귀차니즘이 융합이 되어 카카오톡 자동응답으로 학식을 알려주는 봇을 만들고 싶어졌다!
(개발하는 귀차니즘은 왜 안생겼을까..)
항상 느끼는거지만 시험이 다가올 땐 무얼해도 재밌지!

그래서 무작정 만들어보기 시작했다!
시작이 반이라는 말도 있으니 이미 반은 완성
(가만히 있으면 반이라도 간다했으니 이제 가만히 있으면 완전 완성)
![]()
ㅈㅅ..
대충 구성은 위와 같다. 물론 처음부터 이렇게 생각한건 아니고 만들다 보니까 이렇게 되었다.
실력의 한계와 조언으로 수정하고 수정하다보니 처음 생각한 구성과 많이 달라졌다....

개발할 때 사용한 툴들은 putty와 notepad++(NppFTP), WinSCP, Postman을 썼다.
제일 먼저 응답할 서버를 구해야 한다.
어딘지는 자세히 말할 수 없지만 nginx와 Docker로 하나 열어주겠다는 사람이 등장하였다.
그래서 Docker로 하나 얻어서 우분투 16.04와 php7버전을 깔고 apm 깔고 뭐 기본적인 설치를 하면 된다!
설치는 여러번 해보지만 항상 할때마다 까먹는다... 또르르 그래서 다음 링크를 참고하면서 만들면 좋을 듯 싶다
서버를 설치했다면 이제 옐로우 아이디에 들어가서 아이디를 등록해야한다!
아 근데 이제 옐로우 아이디가 아니라 플러스 친구로 바뀌었다.
https://center-pf.kakao.com/login
위의 경로로 들어가서 로그인해서 만들면된다. 만드는 방법은 아주 많기 때문에 신청와 완료부분은 넘어갈거다~
(실은 만들고나서 플친으로 바뀌어서 어떻게 만들었는지 기억이 안남..ㅋ)

하지만 다시 해보도록 해보자! 하하핳
필자는 이미 검토완료를 받았기 때문에 처음 만드는 거라면 아래의 과정보다 좀 더 많은 과정을 요구할 수 있다.
[그림1]
[그림2]
순서가 좀 짬뽕인데 말로 잘 설명해보겠다..
[그림1] 에 보면 새 플러스 친구 만들기가 있다. 누르면
[그림2]가 나온다. 그냥 입력해주면 된다. 입력을 다하고 만들면
[그림1] 에 목록이 나오는 것을 알 수 있다.
새 플러스 친구 만들기가 다른 곳에 있을 수도 있으니 그정도는 알아서 들어가면 되겠다.

이제 계정도 만들었으니, 서버와 연동해서 Keyboard가 나오도록 해보자.
플러스 친구 관리자센터에 들어가면 위와 같은 화면을 볼 수가 있다.
왼쪽 목록에 스마트채팅 탭을 클릭하고 API형밑에 설정하기를 누른다!
나의 API 서버 URL은 위와 같다(모자이크때문에 하나도 안보이겠지만)
꼭 최상위 디렉토리일 필요가 없고 Kaka_Bot이라는 하위 폴더를 잡아도 된다.
앱 URL 형태는 http://abc.abc.com 형태여야한다.
여기서 필요한 것은 앱 URL에서 API 테스트를 통과해야한다는 것이다.
필자는 여기서 시간을 꽤 많이 잡아 먹었다...무려 아주 간단한 실수로..

제대로 API테스트가 된다면 위와 같이 나와야한다.... 제대로 응답이 오지 않는다면 다른 에러를 마구마구 뿜으므로
잘..아주 잘 해야한다! 경로와 소스코드는 다음과 같다!
개발 환경에 따라 적절히 바꿔서 만들면 된다. 경로는 개발 환경에 바뀌겠지만 keyboard.php는 바뀌지 않는다.
/www/html/Kakao_Bot/keyboard.php
echo <<< EOD
{
"type" : "buttons",
"buttons" : ["button1","button2", "button3", "button4", "button5"]
}
EOD;
위 아래로 <?php , ?> 를 넣는건 빼먹지 말자 이 소스코드는 php소스 코드이다!(티스토리에서 하이라이팅할때 <?php, ?> 넣으니까 깨짐 ㅠ)
저장하고 다시 관리자센터로 돌아와서 API 테스트를 눌러보자.
그럼 위와 같이 Required keyboard : OK가 뜬다.
무탈하게 OK가 뜬다면 더할나위 없겠지만
에러가 막 이상한게 뜬다..? 그러면 어쩔 수가 없어요..
우리의 친구 구글과 github에서 해답을 찾아야 돼요~
https://github.com/plusfriend/auto_reply
짱짱한 실력자님께서 해결 방법을 올려주고, 다른 사람의 에러와 같다면 참고해서 해결하면되요!
여기가 카카오톡 자동응답 api의 document이니까 자주 자주 참고하면 되겠다~
api 테스트를 누르는게 귀찮다면 Postman을 사용해보자
https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop
크롬 확장도구로써 get이나 json을 보내 돌아오는 값을 확인 할 수 있는 아주 유용한 도구이다.
디버깅할 때 좋은 툴이니까 사용하면 좋을 것이다!
※여기서 아주아주 중요한 것이 있는데 EOD 뒤에 스페이스바나 " buttons"등 스페이스가 하나 더 들어가거나 철자가 틀리면
Postman에서 제대로 값이 오는데, 카카오톡 API에서는 에러가 나올 수 있다. 정말 진짜 혼또니 제대로 모든 철자를 확인하고
스페이스바가 하나 더 들어가있는지 확인해야한다.. 필자는 buttons앞에 스페이스바가 하나 더 들어간걸 못찾아서
몇 일을 뻘짓했다.. 찾았을 때 그 기쁨과 허무함이란..

관리자 센터에서 OK가 뜨는 것을 확인했다면 이제 휴대폰에서 Bot에서 제대로 뜨는지 확인 할 필요가 있다.
keyboard.php가 제대로 응답한다면 아래의 빨간색 부분이 제대로 나올 것이다.
아 맞다. 폰에 카카오톡 친구추가하는 방법을 안 알려줬네
아까 플러스친구 관리자 센터에서 홍보하기 -> 플러스 친구 URL로 간단히~ 친구 추가가 가능
그리고 폰에서 플러스친구 그룹에서 보면 확인할 수 있다요.
즐겨찾기로 하면 좀 더 쉽게 접근할 수 있지
만든지 조금 되었고, 글을 쓸 때 틀을 안 잡고 의식의 흐름 기법대로 적으니까 글이 아주 중구난방인 듯하다.
이번 포스팅은 카카오톡 플러스 친구로 등록을 하고, Keyboard가 보이는 것까지 해보았다.
다음 포스팅은 키보드를 누르면 응답을 하는 message.php를 만들어 볼 것이다.
이까지 만드는데 엄청난 시행착오를 거치면서 시간 많이 썼는데... 막상 포스팅 하니까 정말 별거 없네..

혹시나 혹시나 그럴리가 없겠지만 궁금한 점 댓글 달아주면...
아는 한도내에서 답변을 달아 드리죠. 하핳

그럼 이만 총총
'Develop > 카카오톡 자동응답 봇(php)' 카테고리의 다른 글
| PHP와 카카오톡 자동응답 API를 이용하여 학식 봇 제작 - 3 (1) | 2017.07.05 |
|---|---|
| PHP와 카카오톡 자동응답 API를 이용하여 학식 봇 제작 - 2 (3) | 2017.07.04 |
| PHP '(싱글쿼터) "(더블쿼터)의 차이 (0) | 2017.06.22 |
| PHP에서 Python 실행 후 값 반환 (1) | 2017.06.03 |
| 우분투 crontab을 이용해 php 실행/사용 (0) | 2017.06.02 |




최근댓글