Aiogram. Второй хендлер не работает после регистрации первого
Есть код разбитый по файлам. На каждый файл в идее должен быть один хендлер.
1й файл
@dp.message_handler()
async def create_guild_page_6(message: types.Message, state: FSMContext):
try:
async with state.proxy() as data:
if data['name']:
if IsSubscriber(await bot.get_chat_member(chat_id='@chatid', user_id=message.from_user.id)):
if message.text == 'Промокод':
buttons = [types.InlineKeyboardButton(text='Далее', callback_data='create_guild_page_7')]
kb = types.InlineKeyboardMarkup().add(*buttons)
cursor.execute(f"INSERT INTO guilds VALUES ({message.from_user.id}, '{data['name']}', {0}, "
f"{0}, {0}, {10})")
base.commit()
await message.answer_photo(photo=Luna, caption='Текст', reply_markup=kb)
await state.finish()
else: await message.answer('Сначала нужно подписаться)')
except KeyError: pass
2й файл
@dp.message_handler()
async def up_guild_lvl_to_1_1(message: types.Message):
name = cursor.execute(f"SELECT guild_name FROM guilds WHERE owner_id ={message.from_user.id}").fetchone()
lvl = cursor.execute(f"SELECT guild_lvl FROM guilds WHERE owner_id ={message.from_user.id}").fetchone()
if name != None and message.text == 'Помощь':
if lvl[0] == 0:
buttons = [types.InlineKeyboardButton(text='Далее', callback_data='up_guild_lvl_to_1_2')]
kb = types.InlineKeyboardMarkup(resize_keyboard=True).add(*buttons)
await message.answer_photo(photo=Luna, caption='Текст', reply_markup=kb)
Проблема в том, что сообщение "Промокод" бот обрабатывает и запускает первый хендлер, а "Помощь" - нет. Я в курсе про порядок инициализации хедлеров в init, если поменять местами, то будет наоборот "Помощь" - видит, "Промокод" - нет. Прошу помощи в решении данной проблемы.
P.S. если нужно больше информации - пишите
Источник: Stack Overflow на русском