А
@dp.message_handler(state=auth)
@dp.callback_query_handler(lambda c: c.data == 'phone_number_auth')
async def call_back_for_phone_number_button(callback_query: types.CallbackQuery):
state = dp.current_state()
await bot.answer_callback_query(callback_query.id)
await bot.send_message(callback_query.from_user.id, 'Введите номер телефона привяззаный к аккаунту: ')
await state.set_state(auth)
@dp.message_handler(state=auth, content_types=ContentType.TEXT)
@dp.callback_query_handler(lambda c: c.data == 'phone_number_auth')
async def call_back_for_phone_number_message(message: types.Message):
ms = message.text
bot = Bot()
bot.tg_auth_enter_phone_number(ms)
Вопрос, как правильно реализовать машину состояния в таком случае?
Убери у button_handler'a dp.message_handler и наоборот.
Замени lambda c:… на text=""
(Почему вы вечно лямбду то берёте?!)
Устнови dp.callback handler'у state когда ты ожидаешь нажатия кнопки