Skeleton of Kakaotalk Yellowid by Python Flask
카카오톡 옐로아이디 자동응답 API Specification을 충족시키는 파이썬 구현체입니다.
옐로아이디 자동응답 서비스(e.g. 챗봇)를 파이썬으로 구현할 때 저장소를 포크한 후 코드를 수정하여 사용하시면 됩니다.
Python 3, Flask 0.12, SQLAlchemy 1.1.4를 기준으로 구현되었으며 그 외의 의존성 패키지들은 requirement.txt
에서 확인하실 수 있습니다.
run.py
: 서비스를 실행시킵니다. uwsgi를 사용한다면 이 파일을 module로 지정시켜야 합니다.app/
view.py
: Flask의 진입점이며 사용자의 요청을 라우팅합니다.config.py
: DB파일의 저장경로 및 여러 Flask설정을 관리합니다.manager.py
: 로직을 처리하는 handler들을 정의합니다.APIManager
: 분기에 따라MessageManager
를 호출하고 요청을 처리합니다.MessageManager
: Message객체를 생성시키고 message를APIManager
에 제공합니다.DBManager
: DB를 관리합니다.
message.py
: 여러 기본 메시지 타입이 선언되어 있습니다.keyboard.py
: 메시지에 포함되는 키보드를 정의합니다.model.py
: DB모델들을 정의합니다.
카카오톡 옐로아이디 자동응답 API Specification 의 3. 이용 시작하기
항목을 참고해 옐로아이디의 자동응답 서비스를 개시합니다.
우측 상단의 Fork버튼을 눌러 자신의 Github계정에 Yellowid-Flask 저장소를 생성합니다.
$ cd ~
$ git clone git@github.com:<your id>/yellowid-flask.git
Github GUI 등 다른 방법으로도 Clone하실 수 있습니다.
$ cd ~/yellowid-flask
$ virtualenv venv -p python3
$ source ./venv/bin/activate
(venv) $ pip install -r requirement.txt
(venv) $ cd ~/yellowid-flask
(venv) $ python run.py
실행하면 app/model.py
에 정의된 DB테이블이 자동으로 생성됩니다.
기본으로 생성되는 위치는 yellowid-flask/app/
이며 dbname.db
로 생성됩니다.
이 후 옐로아이디 자동응답 API 페이지에서 앱 URL을 http://server_ip:5000
로 설정하고 API TEST
을 통해 정상적으로 작동하는지 확인할 수 있습니다.
원하는 서비스에 맞게 yellowid-flask를 구현하고 배포하기 위해서 여러 방법을 사용하실 수 있습니다.
apache2
, nginx
웹서버와 uwsgi
를 조합해 배포할 수 있으며, Tornado
, Gunicorn
등 의 독립 wsgi 컨테이너를 사용할 수도 있고, Heroku
, Google App Engine
, AWS
등의 플랫폼을 사용하실 수도 있습니다.