aboutsummaryrefslogtreecommitdiff
path: root/handlers/middleware.py
blob: 6cf39b6b27cafe4569ef0c08c5b39bd51a47f02f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from logging import info

from aiogram import types as t
from aiogram.dispatcher.middlewares import BaseMiddleware

from shared.database import Message
from shared.instances import session


class MessageMiddleware(BaseMiddleware):
    async def on_pre_process_message(self, msg: t.Message, data: dict) -> None:
        text = msg.text or msg.caption
        if text is not None and not text.startswith("/"):
            with session.begin() as s:
                s.add(
                    Message(
                        chat_id=msg.chat.id,
                        message_id=msg.message_id,
                        message=text,
                    )
                )