Fix and update Middleware
This commit is contained in:
@@ -12,33 +12,13 @@ from aiogram.utils.markdown import hbold
|
||||
from config import ADMIN_ID, API_TOKEN
|
||||
from filters.private import IsPrivate
|
||||
from logger import logger
|
||||
from middlewares.admin import AdminMiddleware
|
||||
from middlewares.database import DatabaseMiddleware
|
||||
from middlewares.delete import DeleteMessageMiddleware
|
||||
from middlewares.logging import LoggingMiddleware
|
||||
from middlewares.throttling import ThrottlingMiddleware
|
||||
from middlewares.user import UserMiddleware
|
||||
from middlewares import register_middleware
|
||||
|
||||
bot = Bot(token=API_TOKEN, default=DefaultBotProperties(parse_mode=ParseMode.HTML))
|
||||
storage = MemoryStorage()
|
||||
dp = Dispatcher(bot=bot, storage=storage)
|
||||
|
||||
dp.message.middleware(LoggingMiddleware())
|
||||
dp.callback_query.middleware(LoggingMiddleware())
|
||||
|
||||
dp.message.middleware(AdminMiddleware())
|
||||
dp.callback_query.middleware(AdminMiddleware())
|
||||
dp.message.middleware(UserMiddleware())
|
||||
dp.callback_query.middleware(UserMiddleware())
|
||||
|
||||
dp.message.middleware(DatabaseMiddleware())
|
||||
dp.callback_query.middleware(DatabaseMiddleware())
|
||||
|
||||
dp.message.middleware(ThrottlingMiddleware())
|
||||
dp.callback_query.middleware(ThrottlingMiddleware())
|
||||
|
||||
dp.message.outer_middleware(DeleteMessageMiddleware())
|
||||
dp.callback_query.outer_middleware(DeleteMessageMiddleware())
|
||||
register_middleware(dp)
|
||||
|
||||
dp.message.filter(IsPrivate())
|
||||
dp.callback_query.filter(IsPrivate())
|
||||
|
||||
+1
-1
@@ -3,6 +3,6 @@ from aiogram.filters import BaseFilter
|
||||
from aiogram.types import Chat, TelegramObject
|
||||
|
||||
|
||||
class IsPrivate(BaseFilter):
|
||||
class IsPrivateFilter(BaseFilter):
|
||||
async def __call__(self, event: TelegramObject, event_chat: Chat) -> bool:
|
||||
return event_chat.type == ChatType.PRIVATE
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
from typing import Any
|
||||
|
||||
from admin import AdminMiddleware
|
||||
from aiogram import Dispatcher
|
||||
from delete import DeleteMessageMiddleware
|
||||
from loggings import LoggingMiddleware
|
||||
from session import SessionMiddleware
|
||||
from throttling import ThrottlingMiddleware
|
||||
from user import UserMiddleware
|
||||
|
||||
|
||||
def register_middleware(dispatcher: Dispatcher) -> None:
|
||||
middlewares = [
|
||||
AdminMiddleware(),
|
||||
SessionMiddleware(),
|
||||
DeleteMessageMiddleware(),
|
||||
LoggingMiddleware(),
|
||||
ThrottlingMiddleware(),
|
||||
UserMiddleware(),
|
||||
]
|
||||
|
||||
for middleware in middlewares:
|
||||
dispatcher.message.outer_middleware(middleware)
|
||||
dispatcher.callback_query.outer_middleware(middleware)
|
||||
@@ -8,7 +8,7 @@ from aiogram.types import TelegramObject
|
||||
from config import DATABASE_URL
|
||||
|
||||
|
||||
class DatabaseMiddleware(BaseMiddleware):
|
||||
class SessionMiddleware(BaseMiddleware):
|
||||
async def __call__(
|
||||
self,
|
||||
handler: Callable[[TelegramObject, dict[str, Any]], Awaitable[Any]],
|
||||
Reference in New Issue
Block a user