I'm researching 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?