Python으로 Facebook 챗봇 시작하기

Jeongsoo Park
BotHub.Studio (ko)
Published in
4 min readAug 15, 2017

코딩 없이 챗봇 만들기가 유행하는 요즘, 그래도 코딩이 편한 분들을 위해 BotHub.Studio를 사용해 빠르게 챗봇을 제작하는 방법을 안내해 드립니다.

Facebook Messenger Bot 생성

(Facebook Messenger 챗봇을 만들기 위해서는 연결할 페이스북 페이지를 보유하고 있어야 합니다.)

앱을 만들어 봅시다. 페이스북 개발자 사이트로 이동합니다.

새 앱을 만듭니다.

앱의 이름과 연락처 이메일을 입력합니다.

아래와 같은 모습의 대시보드를 볼 수 있습니다. 설정 -기본 설정에서 앱 ID앱 시크릿 코드를 확인할 수 있습니다.

앱에 제품을 추가합니다. Messenger 섹션에서 설정 버튼을 클릭합니다.

페이스북 페이지와 연결합니다. 여기서 페이지 엑세스 토큰을 확인할 수 있습니다.

후에 챗봇을 호스팅하기 위해서 아래의 세 가지 정보를 기억해두세요.

  1. 앱 ID (App ID)
  2. 앱 시크릿 코드 (App Secret Code)
  3. 페이지 엑세스 토큰 (Page Access Token)

챗봇 연결

개발자를 위한 챗봇 호스팅 서비스, BotHub.Studio에 회원 가입을 한 후, 터미널에서 아래와 같이 실행하여 CLI 도구를 설치합니다.

$ pip install bothub-cli

계정 연결을 위해 configure 를 실행합니다:

$ bothub configure

프로젝트 디렉토리를 생성합니다:

$ mkdir MyBot
$ cd MyBot
$ bothub init

init 작업이 완료되면 기본 템플릿 코드가 생성됩니다:

| — bothub
| | — bot.py
| ` — __init__.py
| — bothub.yml
| — requirements.txt
` — tests

기본 템플릿 코드 중에서 bot.py에는 유저의 메세지를 그대로 따라 말해주는 EchoBot 코드가 들어 있습니다.

메신저와 연결하기 위해서, 앞서 기록해두었던 정보들을 사용하여 아래 명령을 실행합니다:

$ bothub channel add facebook --page-access-token=<token> \
--app-secret=<secret> \
--app-id=<id>

이제 서버로 프로젝트를 배포합니다:

$ bothub deploy

deploy까지 완료되면 페이스북 개발자 페이지 Messenger설정에서 Webhooks 항목을 연결해 줘야 합니다. (deploy가 정상적으로 완료됐다면 Webhooks 항목에 선택된 이벤트와 완료 표시가 있어야 합니다.)

이제 페이스북 메신저상에서 챗봇이 잘 동작하는지 확인해봅시다. 페이스북 메신저에서 페이스북 페이지의 이름으로 검색하면 페이지에 연결된 챗봇과 대화할 수 있습니다.

PS. 본 아티클 관련 문의는 BotHub.Studio Community를 통해 지원받으실 수 있습니다. 챗봇 도입 및 제휴 문의는 bothub@bothub.sutdio로 연락해주세요.

--

--