подскажите как сделать в телеграм боте многоступенчатое меню без отправки сообщений

проблема в том что не могу сделать переход, хочу чтобы при нажатии кнопки открывалось второе меню с функциями, и там же была кнопка назад которая бы возвращала все назад, и все это происходило без отправки ботом команд пользователю

            small_function = ReplyKeyboardMarkup(
            keyboard = [
                [
                    KeyboardButton(text="Показать функции", callback_data='functions')
                ]
            ],
            resize_keyboard=True
        )
        all_functions = ReplyKeyboardMarkup(
            keyboard = [
                [
                    KeyboardButton(text="function 1", callback_data='Fddddddddddddddd')
                ],
                [
                    KeyboardButton(text="function 2", callback_data='Fddddddddddddddd')
                ],
                [
                    KeyboardButton(text="Вернуться назад", callback_data='Fddddddddddddddd')
                ],
            ],
            resize_keyboard=True
        )          

    #insert my keyboard
        sent_message = await bot.send_message(chat_id=chat_id, text=msg,parse_mode = "Markdown", reply_markup=small_function)
        print(sent_message.message_id)
    #PIN my message
        await bot.pin_chat_message(chat_id=chat_id, message_id=sent_message.message_id,disable_notification = None)

    @bot.callback_query_handler(func=lambda call: True)
    async def answer(call):

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

Автор решения: Pavlo G

Не буду писать полностью код, только скажу, что для этого Вам пригодится метод:

bot.edit_message_reply_markup(
    chat_id=message.chat.id, 
    message.id=message.message_id, 
    reply_markup="Ваша клавиатура")

Так вы сможете изменять клавиатуру без отправки лишних сообщений.

→ Ссылка