Клавиатуры в боте на aiogram

В начале есть такая клавиатура

menu = ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
show_all_btn = KeyboardButton('Все задачи')
clear_btn = KeyboardButton('Очистить список')
history_btn = KeyboardButton('История')
menu.add(show_all_btn, clear_btn).add(history_btn)

После нажатия на history_btn нужно изменить эту клавиатуру на другую и отправить inline клавиатуру, но так чтобы не было лишних сообщений.

menu2 = ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
clear_btn = KeyboardButton('Очистить список')
back_btn= KeyboardButton('Назад')
menu2.add(clear_btn).add(back_btn)

Какие способы есть чтобы этого добиться?


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

Автор решения: dudha369

Никак, ведь markup всегда идёт ответом на какоето сообщение и даже если его моментально удалять, то markup тоже сразу пропадёт. Вы можете убидиться в этом почитав документацию aiogram, либо же просто даже посмотрев на название класса) ReplyKeyboardMarkup, reply - ответ

→ Ссылка
Автор решения: Джабир

ReplyKeyboardMarkup отправляет сообщение. Вы можете моментально удалить сообщение от пользователя и бота, после чего прислать сообщение с Inline клавиатурой.

→ Ссылка
Автор решения: Илюха Ковальский

Я пришёл к выводу что лучше всё организовать через inline кнопки. Спасибо всем за потраченное время?

→ Ссылка