Python으로 카카오톡 플러스친구 만들기
-목차-
Python으로 카카오톡 플러스친구 만들기 -1-
Python으로 카카오톡 플러스친구 만들기 -2-
Python으로 카카오톡 플러스친구 만들기 -3-
Python으로 카카오톡 플러스친구 만들기 -4-
두번째 카톡플친 만들기 튜토리얼입니다.
처음 보시는 분은 [Python으로 카카오톡 플러스친구 만들기 -1-]을 먼저 읽어주세요.
- my_chatbot
- app
- __init__.py
- admin.py
- apps.py
- models.py
- tests.py
- view.py
- my_chatbot
- __init__.py
- settings.py
- urls.py
- wsgi.py
- manage.py
저번 튜토리얼에서 진행한대로 이런 프로젝트 파일들이 생겼을겁니다
이번 튜토리얼에선 카카오톡 자동응답API의 사용법에 대해 알려드릴게요
카카오톡 자동응답API는 아래와 같은 4가지에 대한 호출이 있습니다.
* Home Keyboard API
* 메시지 수신 및 자동응답 API
* 친구 추가/차단 알림 API
* 채팅방 나가기
튜토리얼에서는 Home Keyboard API
와 메시지 수신 및 자동응답 API
에 대해 다룰겁니다
카카오톡 서버에서 Home Keyboard API
는 http://서버주소/keyboard
메시지 수신 및 자동응답 API
는 http://서버주소/message
에 요청하게 되는데
이에 맞춰 개발자가 정보를 return 하도록 구현하면 됩니다.
(아아 나는 무슨말인지 하나도 모르게따)
코드를 통해 따라 해볼게요!
먼저, my_chatbot/urls.py 에 들어갑시다
from django.conf.urls import url
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
]
urls.py
파일에 이렇게 적혀있을거에요. 우린 app/views
파일을 이곳에서 쓸 수 있게 해야돼요
from django.conf.urls import url
from django.contrib import admin
from app import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
]
이렇게 추가해줍니다.
views.py 를 다뤄보자
카카오톡 플러스친구는http://개발자서버/keyboard
에서 아래와 같이 받아냅니다.는
(라고 Github 카카오자동응답API 설명서 에 쓰여있습니다)
{
"type" : "buttons",
"buttons" : ["선택 1", "선택 2", "선택 3"]
}
우리는 views.py
파일에서 위와 같이 동작하도록 만들거에요!
여러분의 views.py
파일에 아래와 같이 모듈을 임포트 해주세요
from django.http import JsonResponse
# Create your views here.
from django.http import JsonResponse
을 추가한 이유는
카카오톡 플러스친구에 Json파일 타입으로 주어야 하기 때문이에요(REST API이니깐!)
저는 훕포메이션 플러스친구의 내용을 이용할게요.
buttons
에는 갯수 상관없이 여러분이 원하는 버튼으로 추가해주면 돼요
from django.http import JsonResponse
def keyboard(request):
return JsonResponse(
{
'type': 'buttons',
'buttons': ['학식', '내일의 학식', '도서관']
}
)
urls.py
에 keyboard
추가하기
http://개발자서버/keyboard
에 접속할때 위의 내용을 보내야하는데
우리는 아직 url 설정을 하지 않았어요.
my_chatbot_urls.py
을 열어서 urlpatterns
에 아래와 같이 추가해줍니다
from django.conf.urls import url
from django.contrib import admin
from app import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^keyboard',views.keyboard) # 이 부분을 추가했습니다
]
이렇게 개발자서버/keyboard
에서 정보를 받게끔 만들어보았어요.
잘 따라온건지 확인을 해볼게요
manage.py
가 있는 디렉토리에서
[~/파일경로/my_chatbot]$ python manage.py runserver
이렇게 실행을 합니다.
You have 14 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
December 17, 2017 - 07:56:19
Django version 2.0, using settings 'my_chatbot.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
migrate
를 하지 않았다고 뜨지만 우리는 지금 단순히 keyboard가 잘되는지만 확인 할거라 무시해도 돼요
127.0.0.1:8000/keyboard
에 들어가봅니다.
{"type": "buttons", "buttons": ["\ud559\uc2dd", "\ub0b4\uc77c\uc758 \ud559\uc2dd", "\uc2dc\uac04\ubcc4 \ud559\uc2dd", "\uc774\ubbf8\uc9c0 \ud559\uc2dd", "\ub3c4\uc11c\uad00", "\ucea0\ud37c\uc2a4 \ubcc0\uacbd"]}
위와 비슷한 내용이 웹에 뜨면 성공입니다!
<
buttons
내용이 왜 이래요? 라고 의문을 가지고 계시는 분들을 위해서>
-> 한글은 유니코드로 저장이 되기때문에 이렇게 표현이 되는데요. 플러스친구에서는 정상적으로 뜨게 됩니다
다음 튜토리얼에서는 지금까지 만든 코드들을 어떻게 플러스친구에 적용하는지 알아보도록 할게요
'Back-end' 카테고리의 다른 글
Python uwsgi로 서버 배포 (0) | 2018.04.23 |
---|---|
Python으로 카카오톡 플러스친구 만들기 -5- (4) | 2018.01.02 |
Python으로 카카오톡 플러스친구 만들기 -4- (0) | 2017.12.25 |
Python으로 카카오톡 플러스친구 만들기 -3- (7) | 2017.12.19 |
Python으로 카카오톡 플러스친구 만들기 -1- (5) | 2017.12.16 |
댓글