From dbf0a30d543bb91f1552d2d479a901ca902bc3eb Mon Sep 17 00:00:00 2001 From: algizn97 Date: Sun, 2 Nov 2025 17:13:36 +0500 Subject: [PATCH 1/3] The message receipt has been sorted --- app/bybit/telegram_message_handler.py | 477 ++++++++++++++------------ app/bybit/web_socket.py | 15 +- 2 files changed, 255 insertions(+), 237 deletions(-) diff --git a/app/bybit/telegram_message_handler.py b/app/bybit/telegram_message_handler.py index 90b75a2..302403e 100644 --- a/app/bybit/telegram_message_handler.py +++ b/app/bybit/telegram_message_handler.py @@ -1,9 +1,10 @@ import logging.config import math - +import json import app.telegram.keyboards.inline as kbi import database.request as rq from app.bybit.get_functions.get_instruments_info import get_instruments_info +from app.bybit.get_functions.get_positions import get_active_positions_by_symbol from app.bybit.logger_bybit.logger_bybit import LOGGING_CONFIG from app.bybit.open_positions import trading_cycle, trading_cycle_profit from app.bybit.set_functions.set_tp_sl import set_tp_sl_for_position @@ -56,261 +57,289 @@ class TelegramMessageHandler: async def format_execution_update(self, message, tg_id): try: + logger.info("Execution update: %s", json.dumps(message)) execution = message.get("data", [{}])[0] - closed_size = format_value(execution.get("closedSize")) - symbol = format_value(execution.get("symbol")) - exec_price = format_value(execution.get("execPrice")) - exec_qty = format_value(execution.get("execQty")) - exec_fees = format_value(execution.get("execFee")) - fee_rate = format_value(execution.get("feeRate")) - side = format_value(execution.get("side")) + exec_type = format_value(execution.get("execType")) + if exec_type == "Trade" or exec_type == "BustTrade": + closed_size = format_value(execution.get("closedSize")) + symbol = format_value(execution.get("symbol")) + exec_price = format_value(execution.get("execPrice")) + exec_qty = format_value(execution.get("execQty")) + exec_fees = format_value(execution.get("execFee")) + fee_rate = format_value(execution.get("feeRate")) + side = format_value(execution.get("side")) - user_auto_trading = await rq.get_user_auto_trading( - tg_id=tg_id, symbol=symbol - ) - auto_trading = ( - user_auto_trading.auto_trading if user_auto_trading else False - ) - - side_rus = ( - "Покупка" - if side == "Buy" - else "Продажа" if side == "Sell" else "Нет данных" - ) - if safe_float(exec_fees) == 0: - exec_fee = safe_float(exec_price) * safe_float(exec_qty) * safe_float( - fee_rate + user_auto_trading = await rq.get_user_auto_trading( + tg_id=tg_id, symbol=symbol ) - else: - exec_fee = safe_float(exec_fees) - - if safe_float(closed_size) == 0: - await rq.set_fee_user_auto_trading( - tg_id=tg_id, symbol=symbol, fee=safe_float(exec_fee) + auto_trading = ( + user_auto_trading.auto_trading if user_auto_trading else False ) - get_total_fee = user_auto_trading.total_fee - total_fee = safe_float(exec_fee) + safe_float(get_total_fee) - - exec_pnl = format_value(execution.get("execPnl")) - ex_pnl = safe_float(exec_pnl) - pnl = safe_float(exec_pnl) - - header = ( - "Сделка закрыта:" if safe_float(closed_size) > 0 else "Сделка открыта:" - ) - text = f"{header}\n" f"Торговая пара: {symbol}\n" - user_deals_data = await rq.get_user_deal_by_symbol( - tg_id=tg_id, symbol=symbol - ) - commission_fee = user_deals_data.commission_fee or "Yes_commission_fee" - commission_place = user_deals_data.commission_place or "Commission_for_qty" - current_series = user_deals_data.current_series - current_step = user_deals_data.current_step - order_quantity = user_deals_data.order_quantity - pnl_series = user_deals_data.pnl_series - margin_type = user_deals_data.margin_type - take_profit_percent = user_deals_data.take_profit_percent - stop_loss_percent = user_deals_data.stop_loss_percent - fee = safe_float(user_auto_trading.fee) - total_pnl = safe_float(exec_pnl) - safe_float(exec_fee) - fee - leverage = safe_float(user_deals_data.leverage) - - if commission_fee == "Yes_commission_fee": - if commission_place == "Commission_for_qty": - total_quantity = safe_float(order_quantity) + safe_float( - total_fee - ) * 2 + side_rus = ( + "Покупка" + if side == "Buy" + else "Продажа" if side == "Sell" else "Нет данных" + ) + if safe_float(exec_fees) == 0: + exec_fee = safe_float(exec_price) * safe_float(exec_qty) * safe_float( + fee_rate + ) else: - total_quantity = safe_float(order_quantity) - else: - total_quantity = safe_float(order_quantity) + exec_fee = safe_float(exec_fees) - if user_deals_data is not None and auto_trading and safe_float(closed_size) == 0: - await rq.set_total_fee_user_auto_trading( - tg_id=tg_id, symbol=symbol, total_fee=total_fee + if safe_float(closed_size) == 0: + await rq.set_fee_user_auto_trading( + tg_id=tg_id, symbol=symbol, fee=safe_float(exec_fee) + ) + + get_total_fee = 0 + + if user_auto_trading is not None: + get_total_fee = user_auto_trading.total_fee + + total_fee = safe_float(exec_fee) + safe_float(get_total_fee) + + exec_pnl = format_value(execution.get("execPnl")) + ex_pnl = safe_float(exec_pnl) + pnl = safe_float(exec_pnl) + + header = ( + "Сделка закрыта:" if safe_float(closed_size) > 0 else "Сделка открыта:" ) - text += f"Текущая ставка: {total_quantity:.2f} USDT\n" - text += f"Серия №: {current_series}\n" - text += f"Сделка №: {current_step}\n" + text = f"{header}\n" f"Торговая пара: {symbol}\n" + user_deals_data = await rq.get_user_deal_by_symbol( + tg_id=tg_id, symbol=symbol + ) + if user_deals_data is None: + commission_fee = "Yes_commission_fee" + commission_place = "Commission_for_qty" - text += ( - f"Цена исполнения: {exec_price}\n" - f"Комиссия: {exec_fee:.8f}\n" - ) + else: + commission_fee = user_deals_data.commission_fee or "Yes_commission_fee" + commission_place = user_deals_data.commission_place or "Commission_for_qty" - if safe_float(closed_size) == 0: - instruments_info = await get_instruments_info(tg_id=tg_id, symbol=symbol) - qty_step_str = instruments_info.get("lotSizeFilter").get("qtyStep") - qty_step = safe_float(qty_step_str) - qty = (safe_float(order_quantity) * safe_float(leverage)) / safe_float(exec_price) - decimals = abs(int(round(math.log10(qty_step)))) - qty_format = math.floor(qty / qty_step) * qty_step - qty_formatted = round(qty_format, decimals) - total_commission = 0 + current_series = user_deals_data.current_series + current_step = user_deals_data.current_step + order_quantity = user_deals_data.order_quantity + pnl_series = user_deals_data.pnl_series + margin_type = user_deals_data.margin_type + take_profit_percent = user_deals_data.take_profit_percent + stop_loss_percent = user_deals_data.stop_loss_percent + fee = safe_float(user_auto_trading.fee) + total_pnl = safe_float(exec_pnl) - safe_float(exec_fee) - fee + leverage = safe_float(user_deals_data.leverage) if commission_fee == "Yes_commission_fee": - if commission_place == "Commission_for_tp": - total_commission = safe_float(total_fee) / qty_formatted - - if margin_type == "ISOLATED_MARGIN": - if side == "Buy": - take_profit_price = safe_float(exec_price) * ( - 1 + take_profit_percent / 100) + total_commission - stop_loss_price = None + if commission_place == "Commission_for_qty": + total_quantity = safe_float(order_quantity) + safe_float( + total_fee + ) * 2 else: - take_profit_price = safe_float(exec_price) * ( - 1 - take_profit_percent / 100) - total_commission - stop_loss_price = None + total_quantity = safe_float(order_quantity) else: - if side == "Buy": - take_profit_price = safe_float(exec_price) * ( - 1 + take_profit_percent / 100) + total_commission - stop_loss_price = safe_float(exec_price) * (1 - stop_loss_percent / 100) - else: - take_profit_price = safe_float(exec_price) * ( - 1 - take_profit_percent / 100) - total_commission - stop_loss_price = safe_float(exec_price) * (1 + stop_loss_percent / 100) + total_quantity = safe_float(order_quantity) - take_profit_price = max(take_profit_price, 0) - stop_loss_price = max(stop_loss_price, 0) - - ress = await set_tp_sl_for_position(tg_id=tg_id, - symbol=symbol, - take_profit_price=take_profit_price, - stop_loss_price=stop_loss_price, - position_idx=0) - if ress: - take_profit_truncated = await truncate_float(take_profit_price, 6) - stop_loss_truncated = await truncate_float(stop_loss_price, 6) - - text += (f"Движение: {side_rus}\n" - f"Тейк-профит: {take_profit_truncated}\n" - f"Стоп-лосс: {stop_loss_truncated}\n" - ) - else: - text += (f"Движение: {side_rus}\n" - "Не удалось установить ТП и СЛ\n") - - else: - if auto_trading: - new_pnl = safe_float(pnl_series) + total_pnl - await rq.set_pnl_series_by_symbol( - tg_id=tg_id, symbol=symbol, pnl_series=new_pnl) - text += f"\nПрибыль без комиссии: {ex_pnl:.4f}\n" - text += f"Реализованная прибыль: {total_pnl:.4f}\n" - text += f"Прибыль серии: {safe_float(new_pnl):.4f}\n" - else: - text += f"\nПрибыль без комиссии: {ex_pnl:.4f}\n" - text += f"Реализованная прибыль: {total_pnl:.4f}\n" - - await self.telegram_bot.send_message( - chat_id=tg_id, text=text, reply_markup=kbi.profile_bybit - ) - - user_symbols = user_auto_trading.symbol if user_auto_trading else None - - if ( - auto_trading - and safe_float(closed_size) > 0 - and user_symbols is not None - ): - if safe_float(pnl) > 0: - profit_text = "📈 Начинаю новую серию с базовой ставки\n" - await self.telegram_bot.send_message( - chat_id=tg_id, text=profit_text, reply_markup=kbi.profile_bybit - ) - - if side == "Buy": - r_side = "Sell" - else: - r_side = "Buy" - - await rq.set_last_side_by_symbol( - tg_id=tg_id, symbol=symbol, last_side=r_side) + if user_deals_data is not None and auto_trading and safe_float(closed_size) == 0: await rq.set_total_fee_user_auto_trading( - tg_id=tg_id, symbol=symbol, total_fee=0 + tg_id=tg_id, symbol=symbol, total_fee=total_fee ) - await rq.set_fee_user_auto_trading( - tg_id=tg_id, symbol=symbol, fee=0 - ) - await rq.set_pnl_series_by_symbol(tg_id=tg_id, symbol=symbol, pnl_series=0) + text += f"Текущая ставка: {total_quantity:.2f} USDT\n" + text += f"Серия №: {current_series}\n" + text += f"Сделка №: {current_step}\n" - res = await trading_cycle_profit( - tg_id=tg_id, symbol=symbol, side=r_side - ) - if res == "OK": - pass + text += ( + f"Цена исполнения: {exec_price}\n" + f"Комиссия: {exec_fee:.8f}\n" + ) + + if safe_float(closed_size) == 0: + instruments_info = await get_instruments_info(tg_id=tg_id, symbol=symbol) + qty_step_str = instruments_info.get("lotSizeFilter").get("qtyStep") + qty_step = safe_float(qty_step_str) + qty = (safe_float(order_quantity) * safe_float(leverage)) / safe_float(exec_price) + decimals = abs(int(round(math.log10(qty_step)))) + qty_format = math.floor(qty / qty_step) * qty_step + qty_formatted = round(qty_format, decimals) + total_commission = 0 + + if commission_fee == "Yes_commission_fee": + if commission_place == "Commission_for_tp": + total_commission = safe_float(total_fee) / qty_formatted + + if margin_type == "ISOLATED_MARGIN": + if side == "Buy": + take_profit_price = safe_float(exec_price) * ( + 1 + take_profit_percent / 100) + total_commission + stop_loss_price = None + else: + take_profit_price = safe_float(exec_price) * ( + 1 - take_profit_percent / 100) - total_commission + stop_loss_price = None else: - errors = { - "Max bets in series": "❗️ Максимальное количество сделок в серии достигнуто", - "Risk is too high for this trade": "❗️ Риск сделки слишком высок для продолжения", - "ab not enough for new order": "❗️ Недостаточно средств для продолжения торговли", - "InvalidRequestError": "❗️ Недостаточно средств для размещения нового ордера с заданным количеством и плечом.", - "The number of contracts exceeds maximum limit allowed": "❗️ Превышен максимальный лимит ставки", - "Order placement failed as your position may exceed the max": "❗️ Превышен максимальный лимит ставки", - } - error_text = errors.get( - res, "❗️ Не удалось открыть новую сделку" - ) - await rq.set_auto_trading( - tg_id=tg_id, symbol=symbol, auto_trading=False - ) + if side == "Buy": + take_profit_price = safe_float(exec_price) * ( + 1 + take_profit_percent / 100) + total_commission + stop_loss_price = safe_float(exec_price) * (1 - stop_loss_percent / 100) + else: + take_profit_price = safe_float(exec_price) * ( + 1 - take_profit_percent / 100) - total_commission + stop_loss_price = safe_float(exec_price) * (1 + stop_loss_percent / 100) + + take_profit_price = max(take_profit_price, 0) + stop_loss_price = max(stop_loss_price, 0) + + ress = await set_tp_sl_for_position(tg_id=tg_id, + symbol=symbol, + take_profit_price=take_profit_price, + stop_loss_price=stop_loss_price, + position_idx=0) + if ress: + take_profit_truncated = await truncate_float(take_profit_price, 6) + text += (f"Движение: {side_rus}\n" + f"Тейк-профит: {take_profit_truncated}\n" + ) + if stop_loss_price is not None: + stop_loss_truncated = await truncate_float(stop_loss_price, 6) + else: + stop_loss_truncated = None + + if stop_loss_truncated is not None: + text += f"Стоп-лосс: {stop_loss_truncated}\n" + else: + deals = await get_active_positions_by_symbol( + tg_id=tg_id, symbol=symbol + ) + position = next((d for d in deals if d.get("symbol") == symbol), None) + + if position: + liq_price = position.get("liqPrice", 0) + text += f"Цена ликвидации: {liq_price}\n" + + + else: + text += (f"Движение: {side_rus}\n" + "Не удалось установить ТП и СЛ\n") - await rq.set_total_fee_user_auto_trading( - tg_id=tg_id, symbol=symbol, total_fee=0 - ) - await rq.set_fee_user_auto_trading( - tg_id=tg_id, symbol=symbol, fee=0 - ) - await self.telegram_bot.send_message( - chat_id=tg_id, - text=error_text, - reply_markup=kbi.profile_bybit, - ) else: - open_order_text = "\n❗️ Открываю новую сделку с увеличенной ставкой.\n" - await self.telegram_bot.send_message( - chat_id=tg_id, text=open_order_text - ) - - if side == "Buy": - r_side = "Sell" + if auto_trading: + new_pnl = safe_float(pnl_series) + total_pnl + await rq.set_pnl_series_by_symbol( + tg_id=tg_id, symbol=symbol, pnl_series=new_pnl) + text += f"\nПрибыль без комиссии: {ex_pnl:.4f}\n" + text += f"Реализованная прибыль: {total_pnl:.4f}\n" + text += f"Прибыль серии: {safe_float(new_pnl):.4f}\n" else: - r_side = "Buy" + text += f"\nПрибыль без комиссии: {ex_pnl:.4f}\n" + text += f"Реализованная прибыль: {total_pnl:.4f}\n" - res = await trading_cycle( - tg_id=tg_id, symbol=symbol, side=r_side - ) + await self.telegram_bot.send_message( + chat_id=tg_id, text=text, reply_markup=kbi.profile_bybit + ) - if res == "OK": - pass - else: - errors = { - "Max bets in series": "❗️ Максимальное количество сделок в серии достигнуто", - "Risk is too high for this trade": "❗️ Риск сделки слишком высок для продолжения", - "ab not enough for new order": "❗️ Недостаточно средств для продолжения торговли", - "InvalidRequestError": "❗️ Недостаточно средств для размещения нового ордера с заданным количеством и плечом.", - "The number of contracts exceeds maximum limit allowed": "❗️ Превышен максимальный лимит ставки", - "Order placement failed as your position may exceed the max": "❗️ Превышен максимальный лимит ставки", - } - error_text = errors.get( - res, "❗️ Не удалось открыть новую сделку" - ) - await rq.set_auto_trading( - tg_id=tg_id, symbol=symbol, auto_trading=False + user_symbols = user_auto_trading.symbol if user_auto_trading else None + + if ( + auto_trading + and safe_float(closed_size) > 0 + and user_symbols is not None + ): + if safe_float(pnl) > 0: + profit_text = "📈 Начинаю новую серию с базовой ставки\n" + await self.telegram_bot.send_message( + chat_id=tg_id, text=profit_text, reply_markup=kbi.profile_bybit ) + if side == "Buy": + r_side = "Sell" + else: + r_side = "Buy" + + await rq.set_last_side_by_symbol( + tg_id=tg_id, symbol=symbol, last_side=r_side) await rq.set_total_fee_user_auto_trading( tg_id=tg_id, symbol=symbol, total_fee=0 ) await rq.set_fee_user_auto_trading( tg_id=tg_id, symbol=symbol, fee=0 ) - await self.telegram_bot.send_message( - chat_id=tg_id, - text=error_text, - reply_markup=kbi.profile_bybit, + await rq.set_pnl_series_by_symbol(tg_id=tg_id, symbol=symbol, pnl_series=0) + + res = await trading_cycle_profit( + tg_id=tg_id, symbol=symbol, side=r_side ) + if res == "OK": + pass + else: + errors = { + "Max bets in series": "❗️ Максимальное количество сделок в серии достигнуто", + "Risk is too high for this trade": "❗️ Риск сделки слишком высок для продолжения", + "ab not enough for new order": "❗️ Недостаточно средств для продолжения торговли", + "InvalidRequestError": "❗️ Недостаточно средств для размещения нового ордера с заданным количеством и плечом.", + "The number of contracts exceeds maximum limit allowed": "❗️ Превышен максимальный лимит ставки", + "Order placement failed as your position may exceed the max": "❗️ Превышен максимальный лимит ставки", + } + error_text = errors.get( + res, "❗️ Не удалось открыть новую сделку" + ) + await rq.set_auto_trading( + tg_id=tg_id, symbol=symbol, auto_trading=False + ) + + await rq.set_total_fee_user_auto_trading( + tg_id=tg_id, symbol=symbol, total_fee=0 + ) + await rq.set_fee_user_auto_trading( + tg_id=tg_id, symbol=symbol, fee=0 + ) + await self.telegram_bot.send_message( + chat_id=tg_id, + text=error_text, + reply_markup=kbi.profile_bybit, + ) + else: + open_order_text = "\n❗️ Открываю новую сделку с увеличенной ставкой.\n" + await self.telegram_bot.send_message( + chat_id=tg_id, text=open_order_text + ) + + if side == "Buy": + r_side = "Sell" + else: + r_side = "Buy" + + res = await trading_cycle( + tg_id=tg_id, symbol=symbol, side=r_side + ) + + if res == "OK": + pass + else: + errors = { + "Max bets in series": "❗️ Максимальное количество сделок в серии достигнуто", + "Risk is too high for this trade": "❗️ Риск сделки слишком высок для продолжения", + "ab not enough for new order": "❗️ Недостаточно средств для продолжения торговли", + "InvalidRequestError": "❗️ Недостаточно средств для размещения нового ордера с заданным количеством и плечом.", + "The number of contracts exceeds maximum limit allowed": "❗️ Превышен максимальный лимит ставки", + "Order placement failed as your position may exceed the max": "❗️ Превышен максимальный лимит ставки", + } + error_text = errors.get( + res, "❗️ Не удалось открыть новую сделку" + ) + await rq.set_auto_trading( + tg_id=tg_id, symbol=symbol, auto_trading=False + ) + + await rq.set_total_fee_user_auto_trading( + tg_id=tg_id, symbol=symbol, total_fee=0 + ) + await rq.set_fee_user_auto_trading( + tg_id=tg_id, symbol=symbol, fee=0 + ) + await self.telegram_bot.send_message( + chat_id=tg_id, + text=error_text, + reply_markup=kbi.profile_bybit, + ) except Exception as e: logger.error("Error in telegram_message_handler: %s", e, exc_info=True) diff --git a/app/bybit/web_socket.py b/app/bybit/web_socket.py index 2690d78..f69e85a 100644 --- a/app/bybit/web_socket.py +++ b/app/bybit/web_socket.py @@ -25,7 +25,6 @@ class WebSocketBot: self.user_keys = {} self.loop = None self.message_handler = TelegramMessageHandler(telegram_bot) - self.last_execution_seq = {} async def run_user_check_loop(self): """Run a loop to check for users and connect them to the WebSocket.""" @@ -106,18 +105,8 @@ class WebSocketBot: await self.message_handler.format_order_update(message, tg_id) async def handle_execution_update(self, message, tg_id): - """Handle execution updates.""" - data_items = message.get('data', []) - if not data_items: - return - for exec_data in data_items: - seq = exec_data.get('seq') - if tg_id not in self.last_execution_seq: - self.last_execution_seq[tg_id] = -1 - if seq <= self.last_execution_seq[tg_id]: - continue - self.last_execution_seq[tg_id] = seq - await self.message_handler.format_execution_update(message, tg_id) + """Handle execution updates without duplicate processing.""" + await self.message_handler.format_execution_update(message, tg_id) @staticmethod async def get_users_from_db(): From e0167ea406180dcc9c68cd262e4b7866d4a54f25 Mon Sep 17 00:00:00 2001 From: algizn97 Date: Sun, 2 Nov 2025 17:14:22 +0500 Subject: [PATCH 2/3] Fixed the function of setting TP and SL --- app/bybit/open_positions.py | 13 ++++++------- app/bybit/set_functions/set_tp_sl.py | 6 ++++-- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/app/bybit/open_positions.py b/app/bybit/open_positions.py index 5fe98b2..2c14636 100644 --- a/app/bybit/open_positions.py +++ b/app/bybit/open_positions.py @@ -54,12 +54,6 @@ async def start_trading_cycle( tg_id=tg_id, symbol=symbol, mode=0) - await set_margin_mode(tg_id=tg_id, margin_mode=margin_type) - await set_leverage( - tg_id=tg_id, - symbol=symbol, - leverage=leverage, - ) await rq.set_user_deal( tg_id=tg_id, @@ -316,7 +310,12 @@ async def open_positions( try: client = await get_bybit_client(tg_id=tg_id) get_ticker = await get_tickers(tg_id, symbol=symbol) - price_symbol = safe_float(get_ticker.get("lastPrice")) or 0 + + if get_ticker is None: + price_symbol = 0 + else: + price_symbol = safe_float(get_ticker.get("lastPrice")) + instruments_info = await get_instruments_info(tg_id=tg_id, symbol=symbol) qty_step_str = instruments_info.get("lotSizeFilter").get("qtyStep") qty_step = safe_float(qty_step_str) diff --git a/app/bybit/set_functions/set_tp_sl.py b/app/bybit/set_functions/set_tp_sl.py index eded48f..7c95a60 100644 --- a/app/bybit/set_functions/set_tp_sl.py +++ b/app/bybit/set_functions/set_tp_sl.py @@ -25,11 +25,13 @@ async def set_tp_sl_for_position( """ try: client = await get_bybit_client(tg_id) + take_profit = round(take_profit_price, 6) if take_profit_price is not None else None + stop_loss = round(stop_loss_price, 6) if stop_loss_price is not None else None resp = client.set_trading_stop( category="linear", symbol=symbol, - takeProfit=str(round(take_profit_price, 5)), - stopLoss=str(round(stop_loss_price, 5)), + takeProfit=str(take_profit) if take_profit is not None else None, + stopLoss=str(stop_loss) if stop_loss is not None else None, positionIdx=position_idx, tpslMode="Full", ) From 3ba32660eaca41439fde3bdf5be3d6a1d9e62f45 Mon Sep 17 00:00:00 2001 From: algizn97 Date: Sun, 2 Nov 2025 17:33:11 +0500 Subject: [PATCH 3/3] The log is hidden --- app/bybit/telegram_message_handler.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/bybit/telegram_message_handler.py b/app/bybit/telegram_message_handler.py index 302403e..ed20cc5 100644 --- a/app/bybit/telegram_message_handler.py +++ b/app/bybit/telegram_message_handler.py @@ -1,6 +1,6 @@ import logging.config import math -import json +# import json import app.telegram.keyboards.inline as kbi import database.request as rq from app.bybit.get_functions.get_instruments_info import get_instruments_info @@ -57,7 +57,7 @@ class TelegramMessageHandler: async def format_execution_update(self, message, tg_id): try: - logger.info("Execution update: %s", json.dumps(message)) + # logger.info("Execution update: %s", json.dumps(message)) execution = message.get("data", [{}])[0] exec_type = format_value(execution.get("execType")) if exec_type == "Trade" or exec_type == "BustTrade":