develop #4
@@ -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)
|
||||
|
Reference in New Issue
Block a user