기본 콘텐츠로 건너뛰기

AWS EC2, Flask를 이용한 카카오 챗봇 제작

AWS EC2, Flask를 이용한 카카오 챗봇 제작

Ruby on Rails에 이어 Flask기반으로 카카오 챗봇을 개발해보겠습니다.

AWS 카테고리의 첫번째 글에서 키페어 파일을 계속 갖고 있으셔야 합니다. (필자는 지워버려서 다시 생성하였습니다..)

저는 맥 OSX에서 개발하였습니다.

chmod 400 kim_n.pem

먼저 위와 같이 내게만 읽기 권한을 갖도록 권한을 변경합니다.

테스트로 보여드리는 IP입니다. 지금 다시 주소 변경했습니다.

그 후 위 사진의 DNS 주소를 복사한 후 아래와 같이 입력하여 ssh 접속합니다.

ssh -i "kim_n.pem" ubuntu@ec2-15-164-214-51.ap-northeast-2.compute.amazonaws.com

접속이 성공될 경우, 위와 같은 화면을 보실 수 있게 됩니다.

ubuntu에 접속하게 되면 python3가 자동적으로 설치되어 있습니다. 이어서 python3-pip와 flask를 설치하셔야 합니다.

sudo apt-get install python3-pip pip3 install flask

위의 두 줄을 차례대로 입력하시면 설치가 완료됩니다.

flask가 설치 되었다면 이제 간단하게 소스를 입력해봅시다! 저는 [vi chat.py] 를 입력하여 chat.py 파일을 생성하였습니다.

import os from flask import Flask, request, jsonify import json app = Flask(__name__) @app.route('/keyboard') def Keyboard(): return jsonify ({ "type" : "buttons", "buttons" : ["인사말", "버전"] }) @app.route('/message', methods = ["POST"]) def Message(): dataReceive = request.get_json() content = dataReceive['content'] if content == u"인사말": dataSend ={ "message" : { "text" : "안녕하세요! 반갑습니다." } } elif content == u"버전": dataSend ={ "message" : { "text" : "아직 프로토타입입니다." } } return jsonify(dataSend) if __name__ == "__main__": app.run(host = '0.0.0.0', port = 8000)

아래에 만약 port 8000으로 접속을 원하실 경우, 전 글과 같이 인바운드 규칙에 8000을 추가로 넣어주셔야 합니다.

8000번 포트를 추가한 후 작성한 chat,py 파일을 실행 시켜보겠습니다.

정상적으로 실행이 되신다면 이제 카카오톡 챗봇 사이트에 해당 주소를 연결합니다.

API 테스트가 정상적으로 작동이 되시면 이제 카카오 챗봇을 확인해주시면 됩니다.

정상적으로 작동되는 것을 확인할 수 있었습니다.

from http://rile1036.tistory.com/84 by ccl(A)

댓글

이 블로그의 인기 게시물

Flask 13. pythonanywhere에 배포하기

Flask 13. pythonanywhere에 배포하기 Login: PythonAnywhere It's always a pleasure to hear from you! Ask us a question, or tell us what you love or hate about PythonAnywhere. We'll get back to you over email ASAP. Sorry, there was an error connecting to the server. Please try again in a few moments... www.pythonanywhere.com from http://ohdowon064.tistory.com/124 by ccl(A) rewrite - 2020-03-11 15:54:10

[ubuntu] FLASK_APP

[ubuntu] FLASK_APP Development/Debugging 🐞 FLASK_ENV=development FLASK_APP = app.py flask run zsh: command not found: FLASK_APP ✔️ FLASK_ENV=development FLASK_APP=app.py flask run 띄어쓰기를 해서 저런 오류를 출력할수도 있구나 😲 참고 : 108p에서 FLASK가 FKAS로 오타나있다. from http://hee-stories.tistory.com/18 by ccl(A) rewrite - 2020-03-24 17:20:11