@enabl3

Как удалить неиспользуемую клавиатуру aiogram?

По команде /start отправляю пользователю клавиатуру
await message.answer("<b>Привет, {name}!</b>\n"
                         "Выбери желаемое действие или нажми 'Отмена', что бы закрыть меню.".format(
        name=message.chat.first_name),
        reply_markup=startKeyboard)

Как её удалить через определенное время, если пользователь проигнорировал её?
Если использую await message.delete(), то удаляется команда от пользователя, а не сообщение с клавиатурой от бота.
  • Вопрос задан
  • 383 просмотра
Решения вопроса 1
@enabl3 Автор вопроса
Реализовал таким образом, вроде бы всё работает.
@dp.message_handler(commands=["start"])
async def new_chat_member(message: types.Message, state: FSMContext):
    msg = await message.answer("Hi there! What's your name?")
    await Step.name.set()
    await asyncio.sleep(5)
    if await state.get_state() == "Step:name":
        await message.answer("You didn't answer, start again")
        await state.reset_state()
        await msg.delete()
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Buchachalo
@Buchachalo
Попробуй использовать await callback.message.delete_reply_markup()
Если нужно через время удалить то используй таймер, но не забывай что нужно использовать асинхронный. Но он тебе в теории и не даст обычный использовать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы