챗봇 만들기 — 간단한 FAQ 챗봇

Minkang Heo
BotHub.Studio (ko)
Published in
4 min readAug 10, 2017
CC-BY airpix

키보드 기능을 활용한 간단한 FAQ 챗봇을 만들어봅니다.

카카오톡을 이용하다 보면 간단한 FAQ를 안내 해주는 플러스 친구를 만나볼 수 있습니다. 어떤 플러스 친구는 1:1 대화를 지원하기도 하고 소식만 전해주기도 합니다.

오늘은 예제로 카카오톡의 플러스 친구 중 P2P 금융사의 빌리(Villy)를 참조해서 Telegram용으로 제작해 보았습니다.

혹시 챗봇 제작이 처음이시라면 Python으로 Telegram 챗봇 시작하기를 먼저 보시길 권장합니다.

0. 준비사항

Python으로 Telegram 챗봇 시작하기를 해보셨다면 쉽게 준비하실 수 있습니다.(여기서는 생략하도록 하겠습니다.)

1. 빌리(Villy) 플러스친구 살펴보기

빌리 플러스 친구는 1:1 문의도 가능하지만, 필수 FAQ를 제공하고 있습니다. 미리 정의된 키보드 문의 내용에 따라 답변을 안내해 줍니다. 일부는 안내와 함께 외부 링크로 연결되어 있습니다.

2. Telegram 챗봇으로 구현하기

이제 카카오톡 빌리 플러스 친구와 유사한 형태로 구현을 해보겠습니다.

2.1 키보드 구현 코드

BotHub.Studio의 Property 기능을 이용해서 사용중 언제든지 내용을 변경할 수 있도록 구성하였습니다.

2.2 키보드 및 FAQ 내용 정의하기

위의 코드가 실제도 동작할 수 있도록 BotHub.Studio 홈페이지 로그인 후 Project 목록에서 More 클릭 후 Properties를 선택합니다.

먼저, keyboard 항목을 정의합니다. 쉼표(,)로 구분되며 입력된 내용이 키보드 메뉴 항목이 됩니다.

각 메뉴에 대한 답변은 다음과 같이 구성됩니다.

{“answer”: “답변 내용”, “title”: “외부 링크 연결 이름”, “link”: “http://~”}

title과 link는 옵션 항목으로 외부 링크 연결이 필요한 경우에만 입력됩니다.이렇게 각 항목별로 입력을 해주시면 됩니다.

3. 예제봇 보여주기

실제 위의 내용으로 구성된 Telegram 챗봇 화면입니다.

실제 공식 챗봇이 아니기 때문에 테스트 가능한 예제 봇은 제공되지 않습니다. 본 예제 소스를 적용해서 Property 의 내용만 변경하시면 바로 간단하게 키보드를 활용한 FAQ 챗봇으로 활용해 보실 수 있습니다.

예제 소스는 Github에서 받아보실 수 있습니다.

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

--

--