From eca06ea6508613766dcfd741489fbc5fb9f8452a Mon Sep 17 00:00:00 2001 From: Daniil Okhlopkov <5613295+ohld@users.noreply.github.com> Date: Sun, 5 Oct 2025 19:47:45 +0300 Subject: [PATCH] Handle missing previous message by sending new meme --- src/tgbot/senders/next_message.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/tgbot/senders/next_message.py b/src/tgbot/senders/next_message.py index d4318ca..c58b30f 100644 --- a/src/tgbot/senders/next_message.py +++ b/src/tgbot/senders/next_message.py @@ -113,7 +113,13 @@ async def _replace_previous_message( previous_message, meme, reply_markup ) except BadRequest as error: - if "Message to edit not found" in str(error): + if _is_missing_message_error(error): + logging.info( + "Previous message for meme %s is missing (error: %s). " + "Sending new message instead.", + meme.id, + error, + ) edited_message = None else: raise @@ -139,3 +145,8 @@ async def _disable_broken_meme(meme: MemeData, error: BadRequest) -> None: await log( f"meme {meme.id} is disabled now because of: {error.__class__.__name__}: {error}" ) + + +def _is_missing_message_error(error: BadRequest) -> bool: + message = str(error).lower() + return "message to edit not found" in message or "message_id_invalid" in message