지난번에 이어, 이번엔 앞선 포스팅에서 만든 함수((3) - 1)를 slack 알림봇에 적용하는 걸 해보겠습니다.
완성된 함수 KospiRead() 를 뒤로 하고, 슬랙봇에게 메시지를 보내는 파일로 돌아옵니다.
잘 모르시겠다면 아래의 포스팅 참고해주세요.
2021.09.22 - [프로젝트] - [Python] 슬랙(Slack) 알림봇 설정하여 매일 증시 알림 받기 (2)
[Python] 슬랙(Slack) 알림봇 설정하여 매일 증시 알림 받기 (2)
지난편에 이어서, 이번엔 파이썬을 활용하여 슬랙봇이 채팅을 보내는 걸 해보겠습니다. 2021년 2월 이후로 파이썬의 Slacker 라이브러리를 사용할 수 없습니다. (∵ SLACK 의 정책변경) 따라서, 다른
dragon1-honey1-wayfarer.tistory.com
완성된 코드는 아래와 같습니다.
KospiRead() 함수에서 필요한 값을 불러와 일부 편집하여 코스피 지수값, 매매동향을 자동으로 불러올 수 있게끔 합니다.
지난번 포스팅에서 일부 코드를 수정하였습니다. 코드는 길어보이지만 주로 필요한 문자열 가공이므로 어렵지 않을 것입니다.
# requests 와 json 을 활용하여 slack bot 조작하기
from Slacker_notice_functions import *
import requests
import json
from datetime import datetime
# 메시지를 보내는 부분. 함수 안 argument 순서 :
# token : Slack Bot의 토큰
# channel : 메시지를 보낼 채널
#stock_notice
# text : Slack Bot 이 보낼 텍스트 메시지. 마크다운 형식이 지원된다.
# attachments : 첨부파일. 텍스트 이외에 이미지등을 첨부할 수 있다.
def notice_message(token, channel, text, attachments):
attachments = json.dumps(attachments) # 리스트는 Json 으로 덤핑 시켜야 Slack한테 제대로 간다.
response = requests.post("https://slack.com/api/chat.postMessage",
headers={"Authorization": "Bearer "+token},
data={"channel": channel, "text": text ,
"attachments": attachments})
Token = 'xoxb-' # 자신의 Token 입력
image, trend, today_value = KospiRead() # KospiRead 함수로 이미지 주소, 매매동향, 코스피 지수값 불러오기
# 요일구분을 위한 딕셔너리 생성
weekdays_dict = {
0 : '월',
1 : '화',
2 : '수',
3 : '목',
4 : '금',
5 : '토',
6 : '일' }
today_date = datetime.today().strftime('%Y-%m-%d') # YYYY-MM-DD 형식으로 날짜표시
weekdays = datetime.weekday(datetime.today()) # 오늘이 무슨요일인지 0 ~ 6 의 숫자로 표현
str1_title = 'KOSPI, ' + today_date + ' (' + weekdays_dict[weekdays] + ')' # str1_title 은 'KOSPI, 2021-09-24 (금)' 과 같은 형식으로 표시된다.
buySell = '개인 : ' + trend[0] + ', 외국인 : ' + trend[1] + ', 기관 : ' + trend[2] + '\n'
programBuySell = '차익 : ' + trend[3] + ', 비차익 : ' + trend[4] + ', 총합 : ' + trend[5] + '\n'
kospi_value = today_value[0] + today_value[1] + '\n' # 3,135.24 ▽2.34 -0.07% 형식으로 표시
total_text = kospi_value + buySell + programBuySell
# total_text 는 3,135.24 ▽2.34 -0.07%
# 개인: + 2483, 외국인: +835, 기관: -3419
# 차익: -15, 비차익: -1105, 총합 : -1120
# 형식으로 표시된다.
# attachment 왼쪽 기둥 색상 정하기 : KOSPI 지수가 올라가면 빨강, 내려가면 파랑
if today_value[1].find('+') != -1: # + 인 경우,
today_color = '#ff0000' # 빨강색
else:
today_color = '#0000ff' # 파랑색
attach_dict = { 'color' : today_color,
'author_name' : '오늘의 증시 알림',
'title' : str1_title,
'title_link' : 'http://finance.naver.com/sise/sise_index.nhn?code=KOSPI',
'text' : total_text,
'image_url' : image }
attach_list=[attach_dict]
notice_message(Token, "#stock_notice", str1_title, attach_list)
몇가지 색상 코드 :
빨강 : #ff0000 / 초록 : #00ff00 / 파랑 : #0000ff
노랑 : #ffff00 / 하양 : #ffffff / 검정 : #000000
참고로 색상표에 대해 더 자세히 알고 싶으시다면 아래의 사이트 참조하세요.
https://librewiki.net/wiki/%EC%83%89%EC%83%81_%EC%BD%94%EB%93%9C
색상 코드
색상 코드(Color code)는 개체의 색깔을 표기하기 위해 만들어진 디지털 코드다. 컴퓨터 프로그래밍 및 HTML 등에서 사용되며, 표기하는 방식에는 크게 세 가지가 있다. 인쇄물에는 CMYK나 팬톤을 사
librewiki.net
위의 코드를 실행시키면 슬랙봇이 아래의 빨강박스 안과 같은 알림메시지를 보내는 걸 확인 할 수 있습니다.
주석을 따라 천천히 보시고 궁금하신거 있으시면 댓글 부탁드립니다.
'프로젝트 > [ed]_슬랙봇_증시알림' 카테고리의 다른 글
[Python] 슬랙(Slack) 알림봇 설정하여 매일 증시 알림 받기 (5) (0) | 2021.10.12 |
---|---|
[Python] 슬랙(Slack) 알림봇 설정하여 매일 증시 알림 받기 (4) (0) | 2021.10.02 |
[Python] 슬랙(Slack) 알림봇 설정하여 매일 증시 알림 받기 (3) - 1 (1) | 2021.09.24 |
[Python] 슬랙(Slack) 알림봇 설정하여 매일 증시 알림 받기 (2) (0) | 2021.09.22 |
[Python] 슬랙(Slack) 알림봇 설정하여 매일 증시 알림 받기 (1) (0) | 2021.09.22 |