Срабатывает только один хендлер

Только начал изучать aiogram и собственно телеграмм ботов,возник такой вопрос: в коде работает только один хэндлер одного типа. Нашел в интернете,что нужно использовать FSM машину состояний и прописывать state каждому хэндлеру,тогда все хэндлеры будут запускаться по очереди (если правильно понял) Вот часть кода:

class FSMAdmin(StatesGroup):
    price = State()
    vivod = State()

# @dp.message_handler(content_types=types.ContentTypes.TEXT, state=FSMAdmin.vivod)
async def vivod(message: types.Message, state: FSMContext):
    if (message.text == "Вывести"):
        with open('vivod.jpg', 'rb') as photo:
            await bot.send_photo(message.chat.id, photo)
        await state.finish()
        await message.reply("Введите сумму вывода")
        await FSMAdmin.price.set()

# @dp.message_handler(state=FSMAdmin.price)
async def load_price(message: types.Message, state: FSMContext):
    async with state.proxy() as data:
        data['price'] = message.text
        await message.reply("Сумма вывода")
    await state.finish()

def register_handlers_client(dp : Dispatcher):
    dp.register_message_handler(vivod, content_types=types.ContentTypes.TEXT, state=FSMAdmin.vivod)
    dp.register_message_handler(load_price, state=FSMAdmin.price)

Что в моем коде не так,и как его переписать,чтоб работали оба хэндлера (и более)? Заранее благодарю за помощь,уже дня 2 сижу над этим и не могу разобраться...


Ответы (1 шт):

Автор решения: He1TPOH

У тебя в первом хедере финиш есть убери его и напиши вместо него next

→ Ссылка