Для обработки нажатия кнопок inline в библиотеке `aiogram` используется механизм callback queries. Когда пользователь нажимает inline кнопку в Telegram, бот получает callback query, который можно обработать с помощью декоратора `@dp.callback_query_handler`.
Вот как это обычно выглядит в коде:
```python
from aiogram import Bot, Dispatcher, executor, types
from aiogram.types import InlineKeyboardButton, InlineKeyboardMarkup
# Токен вашего бота (создается в BotFather в Telegram)
TOKEN = 'ВашТокен'
bot = Bot(token=TOKEN)
dp = Dispatcher(bot)
# Функция для обработки команды start
@dp.message_handler(commands=['start'])
async def start(message: types.Message):
inline_kb = InlineKeyboardMarkup(row_width=1)
button = InlineKeyboardButton("Press me", callback_data="button_pressed")
inline_kb.add(button)
await message.answer("Hello, press the button:", reply_markup=inline_kb)
# Функция для обработки callback queries (нажатие на inline кнопку)
@dp.callback_query_handler(lambda c: c.data == 'button_pressed')
async def process_callback_button1(callback_query: types.CallbackQuery):
await bot.answer_callback_query(callback_query.id)
await bot.send_message(callback_query.from_user.id, 'Button pressed!')
# Функция запуска бота
if __name__ == '__main__':
executor.start_polling(dp)
```
Здесь, используя `dp.callback_query_handler()`, мы создаем обработчик для callback queries, куда в качестве аргумента передается функция (в данном примере `lambda c: c.data == 'button_pressed'`), которая будет проверять данные callback query (в поле `c.data`). Если данные соответствуют строке `'button_pressed'`, то обработчик будет вызван.
Лямбда выражение может быть заменено функцией, если вам нужно проводить более сложные проверки. Также вместо лямбда-выражения можно использовать filters из aiogram, например так:
```python
@dp.callback_query_handler(text='button_pressed')
```
Более подробно о работе с библиотекой `aiogram` вы можете узнать в документации и руководствах пользователя, которые доступны по следующим ссылкам:
- Официальная документация `aiogram`: https://docs.aiogram.dev/
- GitHub репозиторий `aiogram`, в котором также есть примеры и информация о релизах: https://github.com/aiogram/aiogram
Не забудьте заменить `'ВашТокен'` на реальный токен вашего Telegram бота, который вы получили от BotFather.