Files
DeepStock/stock/util/SlackBot.py
dsyoon 1489508d8e init
2023-10-26 23:03:30 +09:00

90 lines
2.8 KiB
Python

from slack_sdk import WebClient
from slack_sdk.errors import SlackApiError
from datetime import datetime
from slack_cleaner2 import *
class SlackBot:
enable = None
BOT_TOKEN = None
CHANNEL_ID = None
client = None
def __init__(self, enable=True):
# family
# self.BOT_TOKEN = "xoxb-1214605084611-4694289701799-1lCW10baLrihe60DvW1oZ32V"
# self.CHANNEL_ID = "C021KN0GG94"
# ncue
#self.BOT_TOKEN = "xoxb-305350122625-5129491733572-JsBui5wmj7bBoSibRvtz1trj"
#self.CHANNEL_ID = "C062UAHQWLC"
#self.client = WebClient(token=self.BOT_TOKEN)
# ncue
self.BOT_TOKEN = "xoxp-305350122625-305798290339-6093851456290-295074ffaa9688dbe97d008bc53bbe11"
self.CHANNEL_ID = "C062UAHQWLC"
self.client = WebClient(token=self.BOT_TOKEN)
self.enable = enable
return
def alarm_live(self, stock_code, stock_name):
if self.enable:
try:
this_time = datetime.now()
text = "ALIVE (" + this_time.strftime('%Y-%m-%d %H:%M:%S') + ") " + stock_code + "(" + stock_name +")"
result = self.client.chat_postMessage(
channel=self.CHANNEL_ID,
text=text
)
print(text)
except SlackApiError as e:
print(f"Error posting message: {e}")
return
def post(self, stock_code, stock_name, type, price, count):
if self.enable:
try:
this_time = datetime.now()
text = "DATE TIME:" + this_time.strftime('%Y-%m-%d %H:%M:%S') + ", " + "stock_code:" + stock_code + ", " + "stock_name:" + stock_name + ", " + "type:" + type + ", " + "price:" + str(price) + ", " + "count:" + str(count)
result = self.client.chat_postMessage(
channel=self.CHANNEL_ID,
text=text
)
print(text)
except SlackApiError as e:
print(f"Error posting message: {e}")
return
def sendMsg(self, msg):
if self.enable:
try:
this_time = datetime.now()
text = "DATE TIME:" + this_time.strftime('%Y-%m-%d %H:%M:%S') + ", " + "msg:" + msg
result = self.client.chat_postMessage(
channel=self.CHANNEL_ID,
text=text
)
print(text)
except SlackApiError as e:
print(f"Error posting message: {e}")
return
if __name__ == "__main__":
this_time = datetime.now()
stock_code = "252670"
stock_name = "x2"
type = "BUY"
price = 2000
count = 2
slackBot = SlackBot(False)
slackBot.post(stock_code, stock_name, type, price, count)