(python) telegram bot 2. 업비트 코인 가격을 메시지로 전송

2019-09-04

1시간마다 Upbit의 bitcoin 가격을 가져와 텔레그램 봇으로 나에게 메시지를 전송하는 앱을 만들어보겠습니다.

1. 개발환경

2. 텔레그램 봇 만들기

업비트 가격을 전송할 텔레그램 봇을 이 페이지를 참고해 생성합니다.

3. 업비트 코인 가격 가져오기

코인 가격을 가져오는 상세한 방법은 이 페이지를 참고하면 됩니다.

4. 1시간마다 코인 가격을 가져와 텔레그램에 전송

2,3 번 페이지를 참고하여 응용 프로그램을 만듭니다.

from telegram.ext import Updater
from accounts import accounts
from telegram.ext import Updater
from upbitpy import Upbitpy
import time
import datetime
import logging

INTERVAL_MIN = 1
CHAT_ID = accounts.TELEGRAM_MY_CHAT_ID
TELEGRAM_BOT_TOKEN = accounts.TELEGRAM_DEV_DEMO_BOT

def wait(min):
    now = datetime.datetime.now()
    remain_second = 60 - now.second
    remain_second += 60 * (min - (now.minute % min + 1))
    time.sleep(remain_second)


def main():
    upbit = Upbitpy()
    updater = Updater(TELEGRAM_BOT_TOKEN)

    while True:
        ticker = upbit.get_ticker(['KRW-BTC'])[0]
        price_str = format(int(ticker['trade_price']), ',')
        text = '({}) 비트코인 가격: {} 원'.format(datetime.datetime.now().strftime('%m/%d %H:%M:%S'), price_str)
        updater.bot.send_message(chat_id=CHAT_ID, text=text)
        wait(INTERVAL_MIN)


if __name__ == '__main__':
    logging.basicConfig(level=logging.INFO)
    main()

5. 실행 결과

테스트를 위해 INTERVAL_MIN 을 1로 설정하여 1분마다 메시지가 오게 했습니다.

INTERVAL_MIN 을 60으로 변경하면 매 시 정각마다 메시지를 보냅니다.

screenshot

Code

전체 코드는 https://github.com/apt-info/samples 에서 확인하실 수 있습니다.