TelegramBotTemplate/app/core/dispatcher.py
2025-03-29 18:19:22 +03:00

29 lines
956 B
Python

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