from aiogram import Dispatcher, F from aiogram.filters import CommandStart, StateFilter, Command from handlers import hmain from data import callbacks, factory, states from middlewares.getuser import GetUserMiddleware def setup_dispatcher(dispatcher: Dispatcher) -> Dispatcher: # # # # # # # # # # # # # # # # # Handlers # # # # # # # # # # # # # # # # # # # # dispatcher.message.register(hmain.mainstart, CommandStart()) # Callback dispatcher.callback_query.register( hmain.example_callback, F.data == callbacks.CExample.example, ) # Factory Callback dispatcher.callback_query.register( hmain.example_callback_factory, factory.ExampleFactory.filter(), ) # State dispatcher.message.register( hmain.example_state, StateFilter(states.ExampleState.input_user), ) # Middleware connect dispatcher.message.middleware(GetUserMiddleware()) return dispatcher