2018~2019/Python

파이썬으로 카카오톡 챗봇 만들기

전기도둑 2018. 7. 7. 01:03

1. Django 설치


pip3 install --upgrade pip

pip3 install django


2. 프로젝트 생성


django-admin startproject myproject(프로젝트이름)

python manage.py startapp mybot(어플리케이션이름)

python manage.py migrate


3. 설정


[ settings.py 수정 ]


INSTALLED_APPS = [

    'django.contrib.admin',

    'django.contrib.auth',

    'django.contrib.contenttypes',

    'django.contrib.sessions',

    'django.contrib.messages',

    'django.contrib.staticfiles',

    'mybot' <- 추가

]


TIME_ZONE = 'Asia/Seoul' <- 수정


[ urls.py ]


urlpatterns = [

    url(r'^keyboard/', views.keyboard),

    url(r'^message', views.message),

]


4. 코드 작성 (views.py 수정)


def keyboard(request):

 

    return JsonResponse({

        'type':'buttons',

        'buttons':['안녕', '날씨']

    })


-> 카카오톡 플러스 친구 버튼 정보


@csrf_exempt // Django에서 제공하는 POST에 대한 보안 기능

def message(request):


    message = ((request.body).decode('utf-8'))

    request_data = json.loads(message)

    userMessage = request_data['content'] // 유저로 부터 온 응답메시지

    userType = request_data['type'] // 유저로 부터 온 응답메시지 타입


    if userMessage == '안녕':

        return JsonResponse({

            'message': {

                'text': '안녕 반가워!',

                'photo': {

                  'url': 'https://cdn.pixabay.com/photo/2014/04/13/20/49/cat-323262_960_720.jpg',

                  'width': 640,

                  'height': 480

                },

            },

             'keyboard': {

                'type':'buttons',

                'buttons':['안녕','날씨']

            }

        })


-> 각 버튼에 대한 응답 내용


5. 카카오톡 플러스 친구 생성


- 카카오톡 플러스 친구 관리자센터 가입

- 스마트 채팅 API형 선택

- 앱 URL 

python manage.py runserver 0.0.0.0:8000(포트번호)

http://ip:포트번호/디렉토리

- 시작하기