From da16a267e48a506bf79efdc3b1a8ff44c51149d0 Mon Sep 17 00:00:00 2001 From: algizn97 Date: Thu, 11 Sep 2025 12:15:19 +0500 Subject: [PATCH] Fixed --- app/services/Bybit/functions/functions.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/app/services/Bybit/functions/functions.py b/app/services/Bybit/functions/functions.py index 5129e60..23a5202 100644 --- a/app/services/Bybit/functions/functions.py +++ b/app/services/Bybit/functions/functions.py @@ -31,6 +31,7 @@ router_functions_bybit_trade = Router() user_trade_tasks = {} + @router_functions_bybit_trade.callback_query(F.data.in_(['clb_start_trading', 'clb_back_to_main', 'back_to_main'])) async def clb_start_bybit_trade_message(callback: CallbackQuery) -> None: """ @@ -236,8 +237,8 @@ async def start_trading_process(callback: CallbackQuery) -> None: await asyncio.sleep(timer_minute * 60) await open_position(tg_id, message, side, margin_mode, symbol=symbol, quantity=starting_quantity) await rq.update_user_timer(tg_id, minutes=0) - except asyncio.CancelledError: - logger.exception(f"Торговый цикл для пользователя {tg_id} был отменён.", exc_info=True) + except asyncio.exceptions.CancelledError: + logger.exception(f"Торговый цикл для пользователя {tg_id} был отменён.") raise task = asyncio.create_task(delay_start()) @@ -257,6 +258,7 @@ async def cancel_start_trading(callback: CallbackQuery): except asyncio.CancelledError: pass user_trade_tasks.pop(tg_id, None) + await rq.update_user_timer(tg_id, minutes=0) await callback.message.answer("Запуск торговли отменён.", reply_markup=inline_markup.back_to_main) await callback.message.edit_reply_markup(reply_markup=None) else: @@ -469,7 +471,8 @@ async def process_close_delay(message: Message, state: FSMContext) -> None: symbol = data.get("symbol") delay = delay_minutes * 60 - await message.answer(f"Закрытие сделки {symbol} запланировано через {delay_minutes} мин.", reply_markup=inline_markup.back_to_main) + await message.answer(f"Закрытие сделки {symbol} запланировано через {delay_minutes} мин.", + reply_markup=inline_markup.back_to_main) await close_trade_after_delay(message.from_user.id, message, symbol, delay) await state.clear() @@ -537,7 +540,8 @@ async def process_stop_delay(message: Message, state: FSMContext): tg_id = message.from_user.id delay_seconds = delay_minutes * 60 - await message.answer(f"Торговля будет остановлена через {delay_minutes} минут.", reply_markup=inline_markup.back_to_main) + await message.answer(f"Торговля будет остановлена через {delay_minutes} минут.", + reply_markup=inline_markup.back_to_main) await asyncio.sleep(delay_seconds) await rq.update_trigger(tg_id, "Ручной") await message.answer("Автоматическая торговля остановлена.", reply_markup=inline_markup.back_to_main)