diff --git a/stock_monitor.py b/stock_monitor.py index f5b9c72..6420697 100644 --- a/stock_monitor.py +++ b/stock_monitor.py @@ -16,9 +16,21 @@ def send_coin_msg(text): asyncio.run(coin_client.send_message(chat_id=COIN_TELEGRAM_CHAT_ID, text=text)) return -def send_coin_telegram_message(message): - pool = Pool(12) - pool.map(send_coin_msg, [message]) +def send_coin_telegram_message(message_list, header): + pStr = header + "/n" + for i, message in enumerate(message_list): + pStr += message + + if i + 1 % 20 == 0: + pool = Pool(12) + pool.map(send_coin_msg, [pStr]) + pStr = '' + + if len(message_list) % 20 != 0: + pool = Pool(12) + pool.map(send_coin_msg, [pStr]) + + return def send_stock_msg(text): stock_client = telegram.Bot(token=STOCK_TELEGRAM_BOT_TOKEN) @@ -182,23 +194,23 @@ def format_message(info, market_type): # 매수 신호 상세 정보 count = 0 if any(info['buy_signals'].values()): - message += "📊 매수 신호:" + message += f"📊 매수 신호: ({count})" if info['buy_signals']['bb_signal']: - message += "- 볼린저 밴드 하단 근접 (근접도: {:.1f}%),".format(info['distance'] * 100) + message += "볼린저 밴드 하단 근접 (근접도: {:.1f}%),".format(info['distance'] * 100) count += 1 if info['buy_signals']['rsi_signal']: - message += f"- RSI 과매도 구간 (RSI: {info['rsi']:.1f})," + message += f"RSI 과매도 구간 (RSI: {info['rsi']:.1f})," count += 1 if info['buy_signals']['macd_signal']: - message += "- MACD 골든크로스," + message += "MACD 골든크로스," count += 1 if info['buy_signals']['ma_signal']: - message += "- 이동평균선 골든크로스," + message += "이동평균선 골든크로스," count += 1 if info['buy_signals']['volume_signal']: - message += "- 거래량 급증" + message += "거래량 급증" count += 1 - message += f" ({count})\n" + message += "\n" return message def get_coin_data(symbol, retries=3):