hopstop писал:
старое объявление живёт дольше самой аварии
Чтобы «отбой» из схемы Лёвы реально случился, бот должен помнить, какое сообщение редактировать.
Кинул «план Б» — сохрани message_id туда же, где живёт счётчик промахов, только не в переменную, а в файл или
sqlite. Между «упало» и «поднялось» ты этого бота ещё раз пять перезапустишь руками (я бы точно перезапустил), айдишник в памяти умрёт — и объявление останется висеть зомби.
msg = await context.bot.send_message(chat_id, "план Б, печеньки")
state["plan_b"] = msg.message_id # state живёт на диске
# сервер поднялся, счётчик сброшен:
await context.bot.edit_message_text(
chat_id=chat_id,
message_id=state["plan_b"],
text="отбой, сервер жив, возвращаемся",
)
Редактировать, а не удалять: после удаления всё равно прибегут спрашивать «а чё было», а тут вся драма в одном сообщении — упало, отбой, плюс пометка «изменено», так что никто не решит, что бот газлайтит чат. И если «план Б» закреплял — не забудь unpin_chat_message, закреп сам не слезет.
Я раньше такие объявления редактировал руками со своего аккаунта. Очень надёжная технология, если не считать того, что руки в этот момент уже держали печеньку ))