from ..api_types import Message, CallbackQuery

class BaseHandler:
    """Базовый класс для всех обработчиков."""
    def __init__(self, callback):
        self.callback = callback

    def check_update(self, update) -> bool:
        """Проверяет, подходит ли обновление для этого обработчика."""
        raise NotImplementedError

class MessageHandler(BaseHandler):
    """Обработчик для входящих сообщений."""
    def check_update(self, update) -> bool:
        return isinstance(update, Message)

class CallbackQueryHandler(BaseHandler):
    """Обработчик для нажатий на инлайн-кнопки."""
    def check_update(self, update) -> bool:
        return isinstance(update, CallbackQuery)