2
0
forked from kodorvan/stcs

Fixed check auto trading

This commit is contained in:
algizn97
2025-10-04 09:33:44 +05:00
parent 086c7c8170
commit ce5d0605de
4 changed files with 136 additions and 66 deletions

View File

@@ -37,21 +37,32 @@ async def stop_all_trading(callback_query: CallbackQuery, state: FSMContext):
await rq.set_stop_timer(tg_id=callback_query.from_user.id, timer_end=0)
await asyncio.sleep(timer_end * 60)
user_auto_trading_list = await rq.get_all_user_auto_trading(tg_id=callback_query.from_user.id)
user_auto_trading_list = await rq.get_all_user_auto_trading(
tg_id=callback_query.from_user.id
)
for active_auto_trading in user_auto_trading_list:
if active_auto_trading.auto_trading:
symbol = active_auto_trading.symbol
get_side = active_auto_trading.side
req = await rq.set_auto_trading(
tg_id=callback_query.from_user.id, symbol=symbol, auto_trading=False, side=get_side
)
if not req:
await callback_query.edit_text(text="Произошла ошибка при остановке торговли",
reply_markup=kbi.profile_bybit)
return
await callback_query.message.edit_text(text="Торговля остановлена", reply_markup=kbi.profile_bybit)
if any(item.auto_trading for item in user_auto_trading_list):
for active_auto_trading in user_auto_trading_list:
if active_auto_trading.auto_trading:
symbol = active_auto_trading.symbol
get_side = active_auto_trading.side
req = await rq.set_auto_trading(
tg_id=callback_query.from_user.id,
symbol=symbol,
auto_trading=False,
side=get_side,
)
if not req:
await callback_query.message.edit_text(
text="Произошла ошибка при остановке торговли",
reply_markup=kbi.profile_bybit,
)
return
await callback_query.message.edit_text(
text="Торговля остановлена", reply_markup=kbi.profile_bybit
)
else:
await callback_query.message.edit_text(text="Нет активной торговли")
task = asyncio.create_task(delay_start())
await add_stop_task(user_id=callback_query.from_user.id, task=task)
@@ -74,11 +85,15 @@ async def cancel_stop_trading(callback_query: CallbackQuery, state: FSMContext):
try:
await state.clear()
cancel_stop_task(callback_query.from_user.id)
await callback_query.message.edit_text(text="Таймер отменён.", reply_markup=kbi.profile_bybit)
await callback_query.message.edit_text(
text="Таймер отменён.", reply_markup=kbi.profile_bybit
)
except Exception as e:
await callback_query.answer(text="Произошла ошибка при отмене остановки торговли")
await callback_query.answer(
text="Произошла ошибка при отмене остановки торговли"
)
logger.error(
"Error processing command cancel_timer_stop for user %s: %s",
callback_query.from_user.id,
e,
)
)