Как удалить сообщение с анимацией в хэндлере aiogram python

Я разрабатываю бота на aiogram. Схема действия такова: cmd_start -> Приветствие -> нажатие кнопки start -> вывод некоторой информации и удаления сообщения через 10 секунд(сколько времени осталось отмечается на кнопке 'ясно'). Проблема в том, что сообщение удаляется без анимации, а мне она необходима. Также не понятно, как справиться с "залипанием" кнопки start(т.к. функция, которая ловит ее работает все 10 секунд и не завершается). Под "залипанием" я имею ввиду, обводку и подсветку этой кнопки.

handler.py

from aiogram import Router, F
from aiogram.methods.delete_message import DeleteMessage
from aiogram.types import Message, CallbackQuery
from aiogram.filters import CommandStart, Command
from aiogram.filters.state import State, StatesGroup
from aiogram.fsm.context import FSMContext
from asyncio import sleep

from app.keyboards import*
from app.game_manager import*

router = Router()
manager = Manager()

class Form(StatesGroup):
    start_game = State()
    delete_rules = State()
    move = State()


@router.message(CommandStart())
async def cmd_start(message:Message, state:FSMContext):
    await message.answer('Привет! Добро пожаловать!', reply_markup=catalog_menu)
    await state.clear()
    await state.set_state(Form.start_game)

@router.callback_query(F.data == 'start', Form.start_game)
async def cmd_start_game(call:CallbackQuery, state:FSMContext):
    hp, num_patrons, idle_patrons, live_patrons = manager.start()
    msg = await call.message.answer(f'У тебя будет всего {hp} жизней. Общее количество зарядов - {num_patrons},'+
                              f' из них холостых {idle_patrons}, боевых {live_patrons}', reply_markup=catalog_rules)
    
    for seconds in range(9, 0, -1):
        new_inl_btn_rules = InlineKeyboardButton(text=f'Ясно [{seconds}]', callback_data='delete_rules')
        new_catalog_rules = InlineKeyboardMarkup(inline_keyboard=[[new_inl_btn_rules]])

        await sleep(1)
        await msg.edit_reply_markup(
            str(msg.message_id),
            reply_markup=new_catalog_rules
        )
    await msg.chat.delete_message(str(msg.message_id))

    await call.message.answer('Дилер заряжает ружье...')
    await state.set_state(Form.move)

main

import asyncio
from aiogram import Bot, Dispatcher
from app.handlers import router

async def main():
    bot = Bot(token='token')
    dp = Dispatcher()
    dp.include_router(router)
    await dp.start_polling(bot)

if __name__ == '__main__':
    print('bot on')
    try:
        asyncio.run(main())
    except KeyboardInterrupt:
        print('bot off')

"Залипание кнопки"

"Залипание кнопки"


Ответы (0 шт):