Здравствуйте!
У меня контроллеры подключены в таком порядке:
from aiogram import Bot, Dispatcher, types
from dotenv import find_dotenv, load_dotenv
load_dotenv(find_dotenv())
TOKEN = os.getenv('TOKEN')
from user_private.base_com_hand import user_private_bc_router
from admin_private.mailings_work_hand import mailings_work_router
from admin_private.fami_work_hand import familiarizations_work_router
from admin_private.base_admin_hand import admin_private_bc_router
from common.base_commands_list import private
bot = Bot(token=os.getenv('TOKEN'))
dp = Dispatcher()
dp.include_router(user_private_bc_router)
dp.include_router(mailings_work_router)
dp.include_router(familiarizations_work_router)
dp.include_router(admin_private_bc_router)
При отправке файла срабатывает mailings_work_router:
@mailings_work_router.callback_query(F.data.startswith('select_mailing_file_kb'))
async def confirm_to_send_mailing_f_handler(callback: types.CallbackQuery, state: FSMContext, bot: Bot):
callback_values = callback.data.split('_')
inserted_id = callback_values[-1]
await state.update_data(inserted_id=inserted_id)
text_mess = "Введите описание файла"
await bot.send_message(chat_id=tg_id,
text=text_mess,
reply_markup=get_all_cancel_kb())
await state.set_state(FileMailCaptGroup.file_mail_capt)
@mailings_work_router.callback_query(FileMailCaptGroup.file_mail_capt, F.text)
async def capt_mail_file_caption_send(message: types.Message, state: FSMContext, bot: Bot):
await state.update_data(file_description=answer_text)
data = await state.get_data()
print(data)
await state.clear()
Но переход в следующее состояние @mailings_work_router.callback_query(FileMailCaptGroup.file_mail_capt, F.text) не происходит, а вместо этого срабатывает функция, которая находится в admin_private_bc_router:
# Обработчик всех сообщений для отлова сообщений от админа для рассылки
@admin_private_bc_router.message(F.text)
async def search_mess_for_mailing(message: types.Message):
mess_text = 'Вы отправили сообщение. Сделать рассылку или ознакомление?'
await message.answer(text=mess_text,
reply_markup=mail_or_fami_keyboard(inserted_id))
Хотя по иерархии admin_private_bc_router подключается в самом низу. Почему так может быть?