메이킹/메이킹 프로젝트

카카오톡 학식봇 만들기 - 1

트리맨스 2020. 2. 21. 22:23
반응형

 

출저 : 모비인사이드

 

카카오톡 채널 API가 2019년 12월 31일을 기점으로 카카오톡 오픈빌더로 통합되었다. 기존의 API 응답 형식을 사용하던 카카오톡 채널 (구 옐로아이디) 은 챗봇을 계속 운영하기 위해서는 대대적인 프로그램 수정이 불가피해졌다. 만약 수정하지 않는다면, API응답을 사용하는 카카오톡 채널은 정상적인 운영이 불가능하게 되었다. 

 

그로 인해 우리 학교 학식 알람 봇도 먹통이 되었다. 학교 측에서 운영하는 것이 아닌 학생들이 개발한 챗봇이라서, 다시 운영을 요구하기도 좀 애매하다. 그래서 이렇게 불편하게 살 바에야, 직접 만들어서 사용하기로 마음먹었다. 챗봇은 한번도 다뤄본 적 없고 문회안이지만, 도전하는 것도 나쁘지 않을 것 같다.

 

 

계획하기


봇을 만들기 전에, 어떠한 방식으로 만들 것인지 간단한 계획을 세워보자.

우리 학교는 학생식당, 푸름관, 오름1동, 오름3동, 교직원식당 으로 크게 나뉘어져 있다. 또한 각 식당에 대한 메뉴도 학교 홈페이지에 잘 나와 있다. 그리고 날짜와 시간 선택은 사용자가 타이핑을 하지 않고 버튼 만으로도 선택할 수 있게 할 예정이다. 챗봇의 정의는 AI와 대화하는 형식을 떠올리기 쉽지만, 사용자가 원하는 정보는 한정되어 있기 때문에 챗봇 이지만 버튼 클릭으로 원하는 정보를 얻게 할 것이다.

 

코딩은 쉽게 웹 크롤링을 할 수 있는 BeautifulSoup4 와 Flask 를 이용(기본 언어는 파이썬) 하여 서버를 구축하기로 했다. 위 모듈의 장점은 사용하기 쉽고 관련 문서가 풍부하기 때문이다. 또한 리눅스 컴퓨터에서 쉽게 실행이 가능하기 때문이다.

 

채널 만들기


먼저 카카오톡 채널 관리자센터에 접속해서 로그인 한 후 채널을 하나 만들어야 한다. 카카오톡 봇을 만들기 전에, 자신이 관리자로 되어있는 채널을 개설해야 한다.

https://center-pf.kakao.com/create

 

카카오톡 채널 관리자센터

세상의 모든 비즈니스를 완성합니다. 지금 무료로 만들어 새로운 비즈니스 홈을 경험하세요.

center-pf.kakao.com

 

그 다음 카카오톡 오픈빌더 i OBT 에 신청을 해야 합니다. 가입을 한 후에, 오픈빌더i 가입신청을 넣어 줍시다. 

이 때 주의해야 할 것은, 프로필 홈을 공개해야 검수가 가능하다. 신청 후 승인까지는 보통 1주일이 걸린다. 나는 프로필 홈을 공개하지 않아서 2주정도 날렸다. 승인까지 시간이 많이 남았으므로, 그 사이에 파이썬 기본 문법이나 크롤러 및 웹서버 운영에 대해서 예습해두자.

 

오픈빌더 i 사용하기


승인이 되었으면 먼저 무슨 기능이 있는지를 둘러보는 것이 좋다. 아래 도움말 사이트를 읽어 보는 것이 많이 도움이 될 것이다. 오픈빌더i 를 이용한 챗봇 예제가 생각보다 많지 않아서, 도움말을 읽어 보는 것이 좋다.

 

https://i.kakao.com/docs/getting-started-overview

 

카카오 오픈빌더 i 는 카카오에서 새로 출시한 채널 관리 (머신러닝, 스킬 연동 등) 프로그램 이다. 사용자가 말하는 발화에 여러가지 특성이 담겨 있고, 이것을 이용하여 머신러닝, 대화 패턴 추측 등의 다양한 기능을 할 수 있다. 하지만 출시를 한 지 꽤 시간이 지났음에도 불구하고 예제 코드들이 별로 없는 것을 알 수 있다. 기존의 API를 이용한 챗봇들을 모두 쓰지 못하게 하고, 실질적으로 사람들이 카카오 오픈빌더를 쓰기 시작한 것은 2달 정도 지나서라고 추측해 본다.

 

나는 카카오톡 오픈빌더 안에 있는 '스킬' 이라는 기능을 활용해 볼 예정이다.

 

스킬은 출력 데이터를 본인이 원하는 모양으로 바꿀 수도 있고, 외부의 프로그램이랑 연동을 할 수도 있다는 장점이 있다. 이 스킬을 이용하여 학교 홈페이지에 있는 학식 메뉴를 추출한 다음, 사용자들에게 보여지게 할 것이다.

 

스킬을 사용하는 법은 다음 포스트에서 적겠다.

 

 

다음 포스트


https://tre2man.tistory.com/158

 

카카오톡 학식봇 만들기-2

카카오 오픈빌더 사용하기 카카오톡 봇을 만들기 위해 필요한 것만 간단히 먼저 봇 제네릭 메뉴를 설정해 봅시다. 봇 제네릭 메뉴는 채팅창 하단에 고정되어 있는 버튼입니다. 이것을 활성화 시키고, 식당을 선택..

tre2man.tistory.com

 

 

학식봇 만들기 시리즈


https://tre2man.tistory.com/157

 

카카오톡 학식봇 만들기-1

카카오톡 채널 API가 2019년 12월 31부로 많은 것이 변화했습니다. 간단히 말하면, 오픈빌더 i 를 쓰지 않던 예전 API 형식의 카카오톡 봇은 사용을 할 수 없다는 얘기가 되어 버렸습니다. 채널 관리자 본인이 직..

tre2man.tistory.com

https://tre2man.tistory.com/158

 

카카오톡 학식봇 만들기-2

카카오 오픈빌더 사용하기 학식을 알려주는 카카오톡 봇을 만들기 위해 필요한 것만 간단히 설명해 보겠습니다. 먼저 봇 제네릭 메뉴를 설정해 봅시다. 봇 제네릭 메뉴는 채팅창 하단에 고정되어 있는 버튼입니다...

tre2man.tistory.com

https://tre2man.tistory.com/159

 

카카오톡 학식봇 만들기-json 파일이란?

카카오톡 학식봇을 만들기 위해 개인적으로 json에 대한 지식 및 정리를 하기 위한 포스팅입니다. json 이란? json은 데이터 저장 및 공유를 위한 개방평 표준 포맷이다. json의 구성은 "키:값" 으로 이루어져 있..

tre2man.tistory.com

 

반응형