aiogram module for Telegram bots. Handlers for messages from Telegram are decorated with
@dp..... wrappers where
dp = Dispatcher(). All examples in docs are about one file code. So, it works as follows:
... dp = Dispatcher(bot) ... @dp.message_handler(commands=['start', 'help']) async def send_welcome(message: types.Message): ....
So here no problem - we initialize
dp and then use it in handlers functions. What if we separate code to different files - how to pass
dp object from main file to other modules? I mean we can't pass
dp as an argument to handlers functions because it is used not inside the function but to describe (wrap) it before usage. I believe this should be kind of a regular task but for some reason didn't find an answer.
Should we use some kind of functions constructors? So that we pass
dp to function-constructor that then creates another function wrapping it in the moment of creation?