Refactoring: handlers now implemented as classes. Module structure

This commit is contained in:
2024-02-11 12:40:11 +03:00
parent c2d7fd41d7
commit f3cdeeff3c
15 changed files with 330 additions and 316 deletions

View File

@@ -0,0 +1,26 @@
from abc import ABC, abstractmethod
from typing import Any, Coroutine, Dict
from aiogram import Bot
from aiogram.filters import Filter
class MessageHandlerABC(ABC):
bot: Bot
def __init__(self, bot: Bot, *args: Any, **kwargs: Dict[str, Any]) -> None:
assert isinstance(bot, Bot)
self.bot = bot
@abstractmethod
def _command(self, *args, **kwargs):
raise NotImplementedError
@property
def handler(self) -> Coroutine[None, None, None]:
return self._command
@property
@abstractmethod
def filter(self) -> Filter:
raise NotImplementedError