Для замены inline кнопок на другие кнопки с использованием библиотеки Aiogram, вы можете воспользоваться методом `reply_keyboard`, который позволяет создавать и отправлять обычную (Reply) клавиатуру.
Вот пример кода, который демонстрирует, как заменить inline кнопки на клавиатуру с помощью метода `reply_keyboard`:
```python
from aiogram import Bot, types
from aiogram.dispatcher import Dispatcher
from aiogram.utils import executor
# Инициализация бота и диспетчера
bot = Bot(token="YOUR_API_TOKEN")
dp = Dispatcher(bot)
# Обработчик команды /start
@dp.message_handler(commands=['start'])
async def start_command(message: types.Message):
# Создание клавиатуры с кнопками
keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
keyboard.add(types.KeyboardButton(text='Button 1'))
keyboard.add(types.KeyboardButton(text='Button 2'))
keyboard.add(types.KeyboardButton(text='Button 3'))
# Отправка сообщения с замененной клавиатурой
await message.reply(text='Choose an option:', reply_markup=keyboard)
# Обработчик нажатия на кнопку
@dp.message_handler(func=lambda message: message.text == 'Button 1')
async def button_1_handler(message: types.Message):
await message.reply(text='You pressed Button 1!')
# Обработчик нажатия на кнопку
@dp.message_handler(func=lambda message: message.text == 'Button 2')
async def button_2_handler(message: types.Message):
await message.reply(text='You pressed Button 2!')
# Обработчик нажатия на кнопку
@dp.message_handler(func=lambda message: message.text == 'Button 3')
async def button_3_handler(message: types.Message):
await message.reply(text='You pressed Button 3!')
# Запуск бота
if __name__ == '__main__':
executor.start_polling(dp)
```
В данном примере при команде /start будет создана и отправлена клавиатура с кнопками "Button 1", "Button 2" и "Button 3". При нажатии на одну из кнопок будет отправлено соответствующее сообщение.
Надеюсь, это поможет вам заменить inline кнопки на другие кнопки с использованием Aiogram!