07.4.3.17 — Unified Active Screen Lifecycle
This commit is contained in:
@@ -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