Как проверить нажатие кнопки aiogram?

Для проверки нажатия кнопки в библиотеке aiogram существует несколько подходов, в зависимости от ситуации, в которой вы используете кнопку. В основном, кнопки используются в inline-режиме или в режиме клавиатуры с метками.

В режиме inline кнопки передаются в функцию, которая обрабатывает inline-кнопки. Вот пример кода, демонстрирующий проверку нажатия кнопки в режиме inline:

from aiogram import Bot, types
from aiogram.dispatcher import Dispatcher
from aiogram.utils import executor

bot = Bot(token="YOUR_TOKEN")
dp = Dispatcher(bot)

@dp.inline_handler()
async def process_inline_button(query: types.InlineQuery):
    # Получаем данные кнопки
    button_data = query.query

    if button_data == "button1":
        # Действия при нажатии кнопки 1
        await bot.answer_inline_query(query.id, results=[...])

    elif button_data == "button2":
        # Действия при нажатии кнопки 2
        await bot.answer_inline_query(query.id, results=[...])

    # ...

if __name__ == '__main__':
    executor.start_polling(dp)

В режиме клавиатуры с метками кнопки передаются в функцию, которая обрабатывает сообщения с кнопками. Вот пример кода, демонстрирующий проверку нажатия кнопки в режиме клавиатуры с метками:

from aiogram import Bot, types
from aiogram.dispatcher import Dispatcher
from aiogram.utils import executor

bot = Bot(token="YOUR_TOKEN")
dp = Dispatcher(bot)

@dp.message_handler(content_types=types.ContentTypes.TEXT)
async def process_keyboard(message: types.Message):
    if message.text == "Button 1":
        # Действия при нажатии кнопки 1
        await bot.send_message(message.chat.id, "Вы нажали кнопку 1")

    elif message.text == "Button 2":
        # Действия при нажатии кнопки 2
        await bot.send_message(message.chat.id, "Вы нажали кнопку 2")

    # ...

if __name__ == '__main__':
    executor.start_polling(dp)

Оба эти примера позволяют проверить нажатие кнопки и выполнить соответствующие действия в зависимости от нажатой кнопки. Вы можете настроить свои действия и ответы после проверки нажатия кнопки в соответствии с вашими потребностями.