Следует почитать на счет того как работает медиагруппа в ТГ, 5 фото в одном сообщении = 5 апдейтов.
Я бы ушел от FSM в сторону Callback Data Factory
# ...
from aiogram.filters.callback_data import CallbackData
class AnswerCallback(CallbackData, prefix='answer'):
message_id: int
answer_type: str
@router.message(F.photo)
async def photo_handle(message: Message):
await hadnle_text(message)
async def hadnle_text(message: Message):
builder = InlineKeyboardBuilder()
builder.add(InlineKeyboardButton(
text="Answer 1",
callback_data=AnswerCallback(message_id=message.message_id, answer_type='Answer 1').pack()),
InlineKeyboardButton(
text="Answer 2",
callback_data=AnswerCallback(message_id=message.message_id, answer_type='Answer 2').pack()),
)
# Или так
# builder.button(text="Answer 1", callback_data=AnswerCallback(message_id=message.message_id, answer_type='answer 1'))
# builder.button(text="Answer 2", callback_data=AnswerCallback(message_id=message.message_id, answer_type='answer 2'))
await message.answer(
f"<b>Выберите кнопку</b>",
reply_markup=builder.as_markup()
)
@router.callback_query(AnswerCallback.filter())
async def text_state_callback(callback: CallbackQuery, callback_data: AnswerCallback):
await bot.send_message(
chat_id=callback.message.chat.id,
text=callback_data.answer_type,
reply_to_message_id=callback_data.message_id,
)