Nodejs

LINE Bot 만들기 - 1. 시작하기

La.place 2016. 10. 22. 17:22

채팅봇(Chat Bot)이란?


 챗봇이란 쉽게 말해 채팅하는 로봇이다. 정해진 응답 규칙에 따라 사용자 질문에 응답할 수 있도록 만들어진 시스템이다. 전자게시판이나 통신망에서 여러 사용자가 다양한 주제를 가지고 실시간 모니터링 화면을 통해 대화를 나누는 채팅과, 자동으로 사람이 하던 일을 수행하는 기계인 로봇에서 한 글자씩 따와 만든 용어다. 인공지능을 기반으로 사람과 자동으로 대화를 나누는 소프트웨어라고 보면 된다.


출처 : 네이버 캐스트 - 채팅 봇


봇 API를 제공해주는 메신저는 많이 있는데요. 그중에서  2016 LINE Developer Day때 발표한 Message API를 이용해서, 라인 채팅 봇을 만들어 보았습니다.


이번 포스트에서는 라인 봇(LINE Bot)을 만들 때 했던 개발 정보와 삽질(?)을 공유해보고자 합니다.


아래 이미지는 제가 만든 아기 고양이 봇 모모입니다 :)





라인 봇(LINE BOT)이 동작하는 구조에 대해서 간단히 설명하도록 하겠습니다.

라인 비지니스 센터에서 봇 계정을 생성한 후, 우리가 만든 서버의 callback URL을 등록합니다. 그 후 사용자가 봇이 들어가있는 채팅방에서 메세지를 보내면, callback URL이 동작하여, 우리가 만든 서버로 대화정보가 넘어옵니다. 이 정보를 적절히 파싱해서 Reply API를 이용해 봇에게 답장을 보내도록 할 수 있습니다.


라인 채팅봇을 만들기 위해서는 몇가지 필요한 준비물이 있습니다.

먼저 채팅봇 계정과 봇이 돌아갈 서버가 필요합니다. 또 bot api가 https를 사용하기 때문에, 공신력있는 인증서와 도메인이 필요합니다. 전체적인 라인 봇 개발에 필요한 정보는 라인 개발자 홈페이지에서 확인할 수 있습니다.


이 포스트에서는 아마존 웹 서비스(AWS)의 Elastic Cloud 2(EC2) + comodo 인증서 + nodejs 서버를 이용해서 봇을 만들어 보도록 하겠습니다.




LINE@ 계정 만들기


1) 라인 비지니스 센터(https://business.line.me/ko/)에 접속해서 로그인합니다. (아이디가 없으신분들은 라인 계정을 만들어서 로그인하시면 됩니다.) 


2) 계정목록 탭을 선택한 후, 비니지스 계정 개설 버튼을 클릭합니다.



3) 서비스 선택에서 Messaging API를 선택 후, 계정을 만들 때 필요한 내용들을 채워넣어 줍니다.




4) 계정이 생성되었으면 LINE@ Manager 페이지로 이동합시다. 이 페이지에서 봇 기능을 활성화 시켜주어야 합니다.

봇 계정으로 활성화화기 위해선 왼쪽의 메뉴목록에서 계정 설정 > Bot 설정을 클릭합니다. 그 후 보이는 페이지에서  API 켜기 버튼을 클릭해서 Bot을 활성화 시킵니다.




5) 봇 설정을 해줍니다. Messaging API를 사용하기 위해선 Webhook URL 사용을 활성화 시켜주어야 합니다.

   아래와 같이 설정해준 후에 상태 > LINE Developers 버튼을 눌러서 개발자 페이지로 이동합니다.




6) 여기서 중요하게 볼 항목은 Webhook URL 과 Channel Access Token 입니다.

   Webhook URL에 우리가 만든 서버의 POST URL을 등록하여, 유저 입력이 들어왔을 때 어떻게 처리할지를 정할 수 있습니다. Channel Access Token은 서버에서 응답을 보낼 때, 인증을 위해 Header에 첨부해야 하는 정보입니다.

아직은 서버가 없으니 이런게 있다~ 정도만 알고 넘어가도록 하겠습니다.




더 자세한 내용이나 동영상은 LINE Developer Messaging 페이지(https://developers.line.me/messaging-api/getting-started)에서 보실 수 있습니다. 다음으로 아마존 웹 서비스(AWS)에 서버를 세팅해 보도록 하겠습니다.


연관된 포스트


LINE Bot 만들기 - 2. AWS 서버 & SSL 인증서

LiNE Bot 만들기 - 3. Nodejs 서버 만들기

'Nodejs' 카테고리의 다른 글

Hello Nestjs  (1) 2019.04.04
React Server Side Rendering  (5) 2017.04.30
nodejs error handling  (0) 2017.04.23
LINE Bot 만들기 - 3. Nodejs 서버 만들기  (4) 2016.10.29
LINE Bot 만들기 - 2. AWS 서버 & SSL 인증서  (1) 2016.10.29