07.4.3.17 — Unified Active Screen Lifecycle
This commit is contained in:
@@ -97,6 +97,39 @@ class AutoTradeRunner:
|
||||
cls._render_markup = None
|
||||
cls._last_text = None
|
||||
|
||||
@classmethod
|
||||
async def detach_screen(
|
||||
cls,
|
||||
*,
|
||||
delete_message: bool = False,
|
||||
bot: Bot | None = None,
|
||||
chat_id: int | None = None,
|
||||
keep_message_id: int | None = None,
|
||||
) -> None:
|
||||
if (
|
||||
delete_message
|
||||
and bot is not None
|
||||
and cls._chat_id is not None
|
||||
and cls._message_id is not None
|
||||
and cls._chat_id == chat_id
|
||||
and cls._message_id != keep_message_id
|
||||
):
|
||||
try:
|
||||
await bot.delete_message(
|
||||
chat_id=cls._chat_id,
|
||||
message_id=cls._message_id,
|
||||
)
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
cls._bot = None
|
||||
cls._chat_id = None
|
||||
cls._message_id = None
|
||||
cls._render_text = None
|
||||
cls._render_markup = None
|
||||
cls._current_screen = None
|
||||
cls._last_text = None
|
||||
|
||||
@classmethod
|
||||
def set_current_screen(cls, screen: str) -> None:
|
||||
cls._current_screen = screen
|
||||
@@ -594,10 +627,6 @@ class AutoTradeRunner:
|
||||
|
||||
@classmethod
|
||||
async def _refresh_screen(cls, *, force: bool = False) -> None:
|
||||
if cls._current_screen != "auto":
|
||||
cls._log_refresh_skip("current_screen_not_auto")
|
||||
return
|
||||
|
||||
now = time.monotonic()
|
||||
|
||||
if now < cls._retry_after_until:
|
||||
|
||||
@@ -74,6 +74,39 @@ class DebugTradeRunner:
|
||||
cls._render_markup = None
|
||||
cls._last_text = None
|
||||
|
||||
@classmethod
|
||||
async def detach_screen(
|
||||
cls,
|
||||
*,
|
||||
delete_message: bool = False,
|
||||
bot: Bot | None = None,
|
||||
chat_id: int | None = None,
|
||||
keep_message_id: int | None = None,
|
||||
) -> None:
|
||||
if (
|
||||
delete_message
|
||||
and bot is not None
|
||||
and cls._chat_id is not None
|
||||
and cls._message_id is not None
|
||||
and cls._chat_id == chat_id
|
||||
and cls._message_id != keep_message_id
|
||||
):
|
||||
try:
|
||||
await bot.delete_message(
|
||||
chat_id=cls._chat_id,
|
||||
message_id=cls._message_id,
|
||||
)
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
cls._bot = None
|
||||
cls._chat_id = None
|
||||
cls._message_id = None
|
||||
cls._render_text = None
|
||||
cls._render_markup = None
|
||||
cls._current_screen = None
|
||||
cls._last_text = None
|
||||
|
||||
@classmethod
|
||||
def set_current_screen(cls, screen: str) -> None:
|
||||
cls._current_screen = screen
|
||||
|
||||
Reference in New Issue
Block a user