Да, возможно скрыть клавиатуру в aiogram без отправки дополнительного сообщения. Для этого можно использовать метод `edit_message_reply_markup`, который позволяет изменить реплай-маркап у существующего сообщения.
Пример:
```python
from aiogram import Bot, types
from aiogram.dispatcher import Dispatcher
from aiogram.types import InlineKeyboardMarkup
bot = Bot(token="your_token")
dp = Dispatcher(bot)
@dp.message_handler(commands=['books'])
async def send_books_menu(message: types.Message):
inline_btn = types.InlineKeyboardButton('Button', callback_data='btn_clicked')
inline_keyboard = types.InlineKeyboardMarkup().add(inline_btn)
await bot.send_message(message.chat.id, 'Books menu', reply_markup=inline_keyboard)
@dp.callback_query_handler(lambda query: query.data == 'btn_clicked')
async def process_callback(query: types.CallbackQuery):
await bot.edit_message_reply_markup(query.message.chat.id, query.message.message_id)
```
В данном примере при отправке команды `/books` пользователю будет выведено меню "Books" с одной инлайн кнопкой. При нажатии на кнопку кнопка будет скрыта без отправки дополнительного сообщения.
Обратите внимание, что в данном случае используется Callback Query для обработки события нажатия на кнопку.