Stage 07.3.1 - auto trading background runner and live screen

This commit is contained in:
2026-04-28 22:29:26 +03:00
parent d639137855
commit b2801d8a19
11 changed files with 368 additions and 19 deletions

View File

@@ -12,6 +12,7 @@ from src.telegram.handlers.trade.new_order import (
show_recent_drafts,
start_new_order_draft,
)
from src.trading.auto.runner import AutoTradeRunner
router = Router(name="trade_main")
@@ -96,6 +97,8 @@ def _trade_settings_text() -> str:
@router.message(F.text.in_({"📊 Торговля", "⚡ Торговля", "Торговля"}))
async def open_trade(message: Message) -> None:
AutoTradeRunner.set_current_screen("trade")
await message.answer(
_trade_home_text(),
reply_markup=_trade_home_keyboard(),
@@ -107,6 +110,8 @@ async def open_trade_home_callback(
callback: CallbackQuery,
state: FSMContext,
) -> None:
AutoTradeRunner.set_current_screen("trade")
await state.clear()
await callback.answer()
@@ -137,6 +142,8 @@ async def open_new_order_from_trade(
@router.callback_query(F.data == "trade:orders")
async def open_orders_from_trade(callback: CallbackQuery) -> None:
AutoTradeRunner.set_current_screen("trade")
await callback.answer()
if callback.message is not None:
await callback.message.edit_text(
@@ -158,6 +165,8 @@ async def open_drafts_from_orders(callback: CallbackQuery) -> None:
@router.callback_query(F.data == "trade:history")
async def open_trade_history(callback: CallbackQuery) -> None:
AutoTradeRunner.set_current_screen("trade")
await callback.answer()
if callback.message is not None:
await callback.message.edit_text(
@@ -196,6 +205,8 @@ async def open_canceled_history(callback: CallbackQuery) -> None:
@router.callback_query(F.data == "trade:settings")
async def open_trade_settings(callback: CallbackQuery) -> None:
AutoTradeRunner.set_current_screen("trade")
await callback.answer()
if callback.message is not None:
await callback.message.edit_text(