90 lines
2.8 KiB
Python
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)
|
|
|
|
|