aiogram/aiogram/dispatcher/handler/message.py
2020-01-21 23:33:44 +02:00

28 lines
719 B
Python

from abc import ABC
from typing import Optional
from aiogram.api.types import Chat, Message, User
from aiogram.dispatcher.filters import CommandObject
from aiogram.dispatcher.handler.base import BaseHandler, BaseHandlerMixin
class MessageHandler(BaseHandler[Message], ABC):
"""
Base class for message handlers
"""
@property
def from_user(self) -> Optional[User]:
return self.event.from_user
@property
def chat(self) -> Chat:
return self.event.chat
class MessageHandlerCommandMixin(BaseHandlerMixin[Message]):
@property
def command(self) -> Optional[CommandObject]:
if "command" in self.data:
return self.data["command"]
return None