Пишу бота на библиотеке aiogram. Пытаюсь прикрутить к нему некое подобие админ панели, код которой решил написать в отдельном файле. Как правильно прописать хендлеры для обработки нажатий стандартной клавиатуры в двух файлах: в клиентском и в админском. Ведь при использовании двух идентичных декораторов выходит ожидаемый баг.
На данный момент пишу следующим образом:
/main_bot.py
@dp.message_handler(commands=['start'])
async def start_menu(msg: types.Message):
#start menu activation
@dp.message_handler(content_types=['text'])
async def main_func(msg: types.Message):
if msg.text == 'text1':
#action1
elif msg.text == 'text2'
#action2
/admin.py
@dp.message_handler(commands=['admin'])
async def main_admin(msg: types.Message):
#admin menu activation
@dp.message_handler(content_types=['text'])
async def main_commands(msg: types.Message):
if msg.text == 'text3':
#action3
elif msg.text == 'text4':
#action4
При подобном написании игнорируется либо команда /start, либо /admin в зависимости от того, где в main_bot.py импортировать admin.py
В итоге никак не могу сообразить, как мне все команды, связанные с админ панелью, прописывались бы в отдельном файле. Догадываюсь, что должно быть простое решение, но никак не могу его найти.