-
Notifications
You must be signed in to change notification settings - Fork 0
/
PostChatBot.py
78 lines (66 loc) · 2.49 KB
/
PostChatBot.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
import win32com.client
import requests
# 연결 여부 체크
objCpCybos = win32com.client.Dispatch("CpUtil.CpCybos")
bConnect = objCpCybos.IsConnect
if (bConnect == 0):
print("PLUS가 정상적으로 연결되지 않음. ")
exit()
# 현재가 객체 구하기
objStockMst = win32com.client.Dispatch("DsCbo1.StockMst")
objStockMst.SetInputValue(0, 'A005930') #종목 코드 - 삼성전자
objStockMst.BlockRequest()
# 현재가 통신 및 통신 에러 처리
rqStatus = objStockMst.GetDibStatus()
rqRet = objStockMst.GetDibMsg1()
print("통신상태", rqStatus, rqRet)
if rqStatus != 0:
exit()
# 현재가 정보 조회
code = objStockMst.GetHeaderValue(0) #종목코드
name= objStockMst.GetHeaderValue(1) # 종목명
time= objStockMst.GetHeaderValue(4) # 시간
cprice= objStockMst.GetHeaderValue(11) # 종가
diff= objStockMst.GetHeaderValue(12) # 대비
open= objStockMst.GetHeaderValue(13) # 시가
high= objStockMst.GetHeaderValue(14) # 고가
low= objStockMst.GetHeaderValue(15) # 저가
offer = objStockMst.GetHeaderValue(16) #매도호가
bid = objStockMst.GetHeaderValue(17) #매수호가
vol= objStockMst.GetHeaderValue(18) #거래량
vol_value= objStockMst.GetHeaderValue(19) #거래대금
# 예상 체결관련 정보
exFlag = objStockMst.GetHeaderValue(58) #예상체결가 구분 플래그
exPrice = objStockMst.GetHeaderValue(55) #예상체결가
exDiff = objStockMst.GetHeaderValue(56) #예상체결가 전일대비
exVol = objStockMst.GetHeaderValue(57) #예상체결수량
print("코드", code)
print("이름", name)
print("시간", time)
print("종가", cprice)
print("대비", diff)
print("시가", open)
print("고가", high)
print("저가", low)
print("매도호가", offer)
print("매수호가", bid)
print("거래량", vol)
print("거래대금", vol_value)
if (exFlag == ord('0')):
print("장 구분값: 동시호가와 장중 이외의 시간")
elif (exFlag == ord('1')) :
print("장 구분값: 동시호가 시간")
elif (exFlag == ord('2')):
print("장 구분값: 장중 또는 장종료")
print("예상체결가 대비 수량")
print("예상체결가", exPrice)
print("예상체결가 대비", exDiff)
print("예상체결수량", exVol)
def post_message(token, channel, text):
response = requests.post("https://slack.com/api/chat.postMessage",
headers={"Authorization": "Bearer " + token},
data={"channel": channel, "text": text}
)
print(response)
myToken = ""
post_message(myToken, "#stock", "삼성전자 현재가: " + str(offer))