라벨이 인 게시물 표시

n봇 개발 이야기 - [2일차:카카오 API 뜯어보기]

이미지
대한민국에서 가장 많은 사람들이 사용하는 메신저 플랫폼은 무엇일까요? 바로 카카오톡입니다. 요즘 세대에서는 페이스북 메신저를 선호하는 경향도 많이 보이지만, 페이스북을 하지 않는 사람이 존재하는 상황에서는 카카오톡이 국내에선 아직까지는 페이스북 메신저를 압도하고 있다고 할 수 있습니다.  n봇을 개발하면서 느낀 점은, 대화형 봇의 최대 장점인 추가적인 애플리케이션 설치가 필요하지 않다는 것을 최대한 살릴 수 있는 메신저 플랫폼을 선택하는 것이 봇의 보급에 가장 중요하다는 것입니다. 그러한 이유로 n봇의 메신저 플랫폼으로 카카오톡을 선정하게 되었고, 카카오톡에서 제공하는 옐로아이디 기능을 이용해서 봇을 만들었습니다.(2017년 5월 24일 옐로아이디와 플러스친구가 통합됨) 카카오가 제공하는 API에 대해서 정확히 일아야 구현할 수 있는 기능을 알고 동작 원리를 정하겠죠? 그래서 이번 시간에는 플러스친구 API에 대해서 자세히 알아보겠습니다.   플러스친구 API 의 공식문서는 링크를 타고 들어가면 있습니다. 카카오톡의 자동응답 API는 Node.js의 http(s) restful api를 사용합니다. *Restful API란? (추후 링크 올릴 예정)  첫 번째로 알아볼 API는 Home keyboard API 입니다. Home keyboard API 는 스마트응답 기능을 실행하기 위해 가장 먼저 필요한 기능입니다. 공식 문서에 따르면 " 이용자가 최초로 채팅방에 들어올 때 기본으로 키보드 영역에 표시될 자동응답 명령어의 목록을 호출하는 API" 라고 합니다.  자세한 설명을 위해 공식 문서를 인용해 보겠습니다. Method : GET URL : http(s)://:your_server_url/keyboard Content-Type : application/json; charset=utf-8 Response : 키보드 영역에 표현될 버튼에 대한 정보. 생략시 text 타입이 선택된다. 예제 : { ...

n봇 개발 이야기 - [1일차:대화형 인터페이스에 눈을 뜨다]

이미지
 스마트폰 개발자가 사용자들에게 서비스를 제공해 줄 수 있는 방법이 점점 다양해지고 있습니다. 초창기에는 네이티브 앱, 중반기에는 웹 페이지를 애플리케이션처럼 꾸민 웹 앱, 이제는 대화형 인터페이스를 이용한 봇과 같은 개념이 등장하게 되었지요.  네이티브 앱은 스마트폰의 기능을 자유롭고 가장 최적화된 상태로 사용할 수 있지만, 스마트폰의 운영체제와 버전에 따라서 개발을 다시 해야하는 불편함이 있었습니다. 웹 앱은 스마트폰의 운영체제와 버전에 상관없이 개발할 수 있다는 장점이 있지만, 네이티브앱보다 최적화가 덜 된 경우가 많고, 스마트폰의 기능 사용에 제약이 좀 있습니다. 그리고 최근에 나오게 된 대화형 봇은 추가로 애플리케이션을 다운받을 필요가 없다는 점과 UI 디자인에 많이 신경을 쓸 필요가 없다는 장점이 있죠.  그러한 이유로 최근 봇 개발에 관심이 많아지게 되었는데, 봇으로 할 만한 재미있는 주제가 생갔났습니다. 바로 돈 정산입니다. 학교에서 선배들과 친구들이 놀러나가다 보면 돈을 쓸 일이 자주 생기는데, 주로 카톡방에 톡을 생성해서 자신이 쓴 돈을 올리고, 나중에 검색 기능으로 정산을 수동으로 하는 방식을 사용합니다. 그러나 돈이 많이 왔다갔다하거나 인원이 많아지면 그 작업이 어려워지는 단점이 있습니다. 그래서 저는 "카톡방에 쓴 돈을 올리면 나중에 자동으로 계산을 해주면 어떨까?" 라는 생각을 했고, 이걸 카카오톡의 옐로아이디를 이용해서 만들어보려고 했습니다.  그런 생각에서 n봇이라는 프로젝트가 출범하게 되었고, 지금부터 그 프로젝트의 진행과정과 동작 원리에 대해서 포스팅을 하겠습니다.