File size: 663 Bytes
b37ebd1
 
 
4566c49
b37ebd1
 
 
 
 
 
 
 
 
 
 
 
4566c49
b37ebd1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from aiogram import Dispatcher

from app.bot.handlers import build_router
from app.bot.handlers.errors import on_error
from app.bot.middlewares.context import ContextMiddleware
from app.bot.middlewares.gate import GateMiddleware
from app.bot.middlewares.throttle import ThrottleMiddleware


def build_dispatcher() -> Dispatcher:
    dp = Dispatcher()
    for observer in (dp.message, dp.callback_query):
        observer.middleware(ThrottleMiddleware())
        observer.middleware(ContextMiddleware())  # must come before the gate
        observer.middleware(GateMiddleware())
    dp.include_router(build_router())
    dp.errors.register(on_error)
    return dp