Для проверки нажатия кнопки в библиотеке 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)
Оба эти примера позволяют проверить нажатие кнопки и выполнить соответствующие действия в зависимости от нажатой кнопки. Вы можете настроить свои действия и ответы после проверки нажатия кнопки в соответствии с вашими потребностями.