본문 바로가기

End-to-End 프로젝트

End-to-End 연습3_챗봇 알림 서비스 구현

자동 알림 서비스를 만들어봅시다

 

텔레그램과 Slack을 통해서 매일 종가 안내를 보내보겠습니다.

먼저 조금 더 쉬운 텔레그램부터!

 

그러면 텔레그램 앱으로 이렇게 옵니다

 

import urllib.parse
import pandas as pd
import requests
from sqlalchemy import create_engine


def send_telegram(message):
    bot_token = "@@@@@@@@"
    chat_id = "@@@@@@@"

    url = f"https://api.telegram.org/bot{bot_token}/sendMessage"
    requests.post(url, data={"chat_id": chat_id, "text": message})


def main():
    db_pw = "*******"
    safe_pw = urllib.parse.quote_plus(db_pw)
    db_endpoint = "database-1.cdyyqwcq2v17.ap-northeast-2.rds.amazonaws.com"
    ssl_path = "/home/ubuntu/stock_project/global-bundle.pem"

    db_url = (
        f"mysql+pymysql://admin:{safe_pw}@{db_endpoint}:3306/yfinance_db"
    )
        engine = create_engine(db_url, connect_args={"ssl": {"ca": ssl_path}})

    query = "SELECT Date, Close FROM samsung_stock ORDER BY Date DESC LIMIT 1"
    df = pd.read_sql(query, con=engine)

    raw_date = df.iloc[0]["Date"]
    today_date = raw_date.strftime("%Y-%m-%d")
    close_price = int(df.iloc[0]["Close"])

    msg = f" [{today_date}] \n삼성전자 오늘 종가: {close_price:,}원"
    send_telegram(msg)


if __name__ == "__main__":
    main()

이 코드 또한 매일 정보 받아오는 코드 실행 후 바로 실행되게 설정!

-> 매일 챗봇에게서 메시지가 온다