Skip to content

Exubient/AUSG_KakaoBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python으로 비트코인 챗봇 만들기

초보자를 위한 AWS 뿌시기 세미나 1일차 강의 자료

AWS Free Tier 가입하기

스크린샷, 2018-01-10 20-23-00

Ctrl 누르고 왼쪽클릭! https://aws.amazon.com/free/

  • 무료 계정 생성
    • 이때, 해외결제가 되는 신용카드 혹은 체크카드가 있어야 합니다.
    • 회원가입을 하면 카드 확인용으로 $1가 빠져나갑니다. (나중에 돈은 다시 돌려줍니다.)
    • 모든 가입 정보들은 영문 으로 작성되어야 합니다.

C9

c9

AWS Cloud9은 인터넷만 연결되어 있다면 웹 브라우저상으로 코드 작성 및 실행, 디버깅을 할 수 있는 클라우드 기반의 통합 개발 환경(IDE)를 의미합니다. Ctrl + 왼쪽마우스 클릭! https://aws.amazon.com/ko/cloud9/

  • 싱가폴 리전 선택 스크린샷, 2018-01-10 20-35-15

  • AWS Cloud9 시작하기 버튼 --> 클릭 스크린샷, 2018-01-10 20-38-12

  • 지역은 싱가폴로 선택을 하도록 하겠습니다. 스크린샷, 2018-01-10 20-42-17

  • Create Environment 버튼 --> 클릭

  • Create a new instance for environment (EC2 설정) --> Instance Type은 t2.micro설정 스크린샷, 2018-01-10 20-49-26

  • Cost-saving setting은 4시간 후 설정

  • Create! 하면 조금 시간이 걸립니다...

    • 이때, 자동으로 EC2가 생성됩니다.
$ git clone https://github.com/Exubient/AUSG_KakaoBot

AWS Elastic IP (고정아이피 할당)

AWS Inbound 열기

참고 명령어

  • Bash에서 상위 디렉토리 이동
    $ cd AUSG_KakaoBot
  • Bash에서 하위 디렉토리 이동
    $ cd ..

Django

  • requirement 설정

    $ cd AUSG_KakaoBot
    $ sudo pip install -r requirements
  • kakao/kakao/settings.py

    ALLOWED_HOSTS = ['*']
    INSTALLED_APPS = ['alpaca'] # 추가
    
  • kakao/urls.py

    from alpaca import views
    
    url(r'^keyboard/', views.keyboard),
    url(r'^message', views.answer),
    
  • kakao/alpaca/views.py

  • 카톡 플러스친구 API TEST Function

    def keyboard(request):
        return JsonResponse({
            'type' : 'buttons',
            'buttons' : ['Coinone', 'Bithumb', 'Bitfinex']
        })
    
  • 응답을 위한 Main Function

    ret={}
    @csrf_exempt #보안 Middleware
    def answer(request):
        pass
    
        # 첫번째로 보일 키보드
        # 두번쨰로 보일 키보드
    
  • AUSG_KakaoBot/coin.py

    def fetch_cryptocompare():
    	pass
    
    	# 가격정보를 원하는 코인 종류/ Set
    	# 정보를 받아올 시장 / Dictionary
    	# 날짜를 저장
    	# _dict에 저장된 정보를 coin.csv파일에 저장.
    	print("Success")
    
    def scheduler():
    	pass
    
    	# fetch_cryptocompare() 매 분마다 돌리기
    
    scheduler()
    
  • runserver kakao/manage.py

    $ python manage.py migrate
    $ python coin.py # 터미널창 추가해서 돌려놓기
    $ python manage.py runserver 0:8000

만약 SyntaxError: Non-ASCII character '\xec' in file 에러가 난다면?

파이썬 코드 맨 위에 아래 코드를 기입합니다.

# -*- coding: utf-8 -*-

KaKao

  • 플러스친구 관리자 센터

  • 가입 (핸드폰 인증 필요)

  • 새 플러스 친구

  • 관리 -> 공개설정

  • 스마트채팅 -> API형 설정하기 -> http://엘라스틱 탄력적ip주소:8000 -> Api Test 스크린샷, 2018-01-10 21-23-46

  • 알림받을 전화번호 -> 자기 전화번호 입력 -> 인증 -> 시작!

  • 휴대폰으로 플러스친구 검색 -> 테스트시작

파괴하기

  • EC2 파괴 스크린샷, 2018-01-10 21-25-57
    • C9 코드를 생성하면 EC2가 자동으로 생깁니다.
  • 카톡 플러스친구 파괴

추가 설명

EC2는 뭔가요?

ec2

EC2는 Elatic Compute Cloud의 약자로, AWS가 제공하는 서비스 중 대표 상품입니다. EC2를 생성해 실제로 보고 만질 수 없는 가상 서버를 만들 수 있습니다.

스크린샷, 2018-01-10 21-05-58 여기에 윈도우 운영체제도 설치할 수 있고, 리눅스 기반의 서버도 설치할 수 있습니다.

Elastic IP는 뭔가요?

EC2를 오랫동안 껐다가 다시켜거나, 혹은 재부팅하는 경우 IP가 종종 변경되는 경우가 있습니다. AWS 내에서 IP를 반납하기 때문인데요, 이를 고정 IP로 바꿔주는 것이 Elastic IP입니다.

좀 더 자세한 설명은 여기서 확인하실 수 있습니다.

API는 뭔가요?

스크린샷, 2018-01-10 21-13-19 쉽게 말해서 네이버를 예로 들도록 하겠습니다. 네이버는 20년 동안 구축해왔던 데이터베이스를 사용자들이 접근할 수 있도록 해줍니다. 영화도 검색할 수 있고, 네이버 지도 역시 사용할 수 있으 최근에는 파파고 번역까지 사용할 수 있네요!

사용자들은 이 API를 이용해서 상품을 개발할 수도 있고, 자신의 편의를 위한 응용 프로그램을 만들 수도 있습니다.

어떻게 활용해볼 수 있을까요?

Bithumb API 스크린샷, 2018-01-10 21-07-51 Bithumb API 주소

Coinone API 스크린샷, 2018-01-10 21-08-31 Coinone API 주소

KORBIT API 스크린샷, 2018-01-10 21-10-08 KORBIT API 주소

이번 강의에서는 카카오챗봇 API를 이용해 EC2를 사용해보는 것에 강의 초점이 맞춰져있습니다. 이외에도 여러 거래소에서 시세조회, 지정가 주문, 취소 주문, 사용자 정보 등 자기 거래소에서 제공할 수 있는 정보들을 API를 통해서 제공하고 있습니다.

About

source code for AUSG seminar

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •