6. 메시지 알람 (텔레그램)
소스파일은 github.com/galaxywiz/StockCrawler_py 에서 확인 가능합니다.
시스템을 만들고 나면 그게 내가 판단할 수 있도록 알람을 주는 게 필요합니다.
아무리 좋은 시스템 만들어도 알람이 안 오면 무용지물이니까요.
가장 좋고 간단한 거는 email로 보내는 방법입니다. 회사에서 자주 보실 만한 그 거죠.
하지만 시대도 변했고, email보다 세련되게 오는 게 있는데, 그건 카카오나 라인같이 메신저로 보내는 방법입니다.
하지만, 카카오나 라인은 메시지 보내려면 뭐 등록하고 이것저것 준비할 게 많아서 간단하면서 대중성 있는 메신저 텔레그램을 사용하도록 하겠습니다.
텔레그램은 http://www.telegram.pe.kr/ 페이지에서 프로그램을 받을 수 있습니다. 설치한 이후에 검색에 botFather를 검색합니다.
이제 채팅으로 /help를 입력하면 봇 생성 및 관리에 관한 명령어를 보실 수 있습니다.
일단, 우리의 새로운 봇을 만들기 위해 /newbot 입력해 봅시다.
처음에는 텔레그램에 표시될 이름을 입력해야 하는데, 저는 주식 탐색 로봇이라 입력했습니다.
다음에는 이를 텔레그램에서 관리할 이름을 넣어주는데 뒤에 bot으로 끝나야 합니다.
저는 stock_search_bot이라 했습니다.
그럼 이 봇과 대화창 링크, 프로그램 코드에서 쓸 API 토큰 값을 주면서 봇이 만들어 집니다.
t.me/stock_search_bot. 를 클릭하면 오른쪽 같은 창이 뜨고, 시작 하면 준비가 완료 되었습니다.
이제 아래와 같은 코드를 입력합니다.
15줄 정도로 이제 프로그램내 발생하는 메시지나, 사진 파일등을 텔레그램으로 전송할 수 있고, 밖에서 휴대폰으로 실시간으로 데이터를 받을 수 있습니다.
telegram.py
#pip install telepot
import telepot
class TelegramBot:
def __init__(self, token, id):
self.teleBot_ = telepot.Bot(token)
self.id_ = id
def sendMessage(self, message):
self.teleBot_.sendMessage(self.id_, message)
def sendPhoto(self, image, message):
self.teleBot_.sendPhoto(self.id_, photo=open(image, 'rb'), caption=message)