Встречается на собеседованиях • сегодня

Зачем нужен FSM в aiogram

FSM (Finite State Machine) в aiogram позволяет управлять состоянием пользователя в боте, что особенно полезно для многошаговых процессов, таких как регистрация, заполнение форм или сложные диалоги.

Пример:

python
from aiogram.dispatcher.filters.state import StatesGroup, State

class Registration(StatesGroup):
    name = State()
    age = State()
    email = State()

@dp.message_handler(commands=['start'])
async def start_registration(message: types.Message):
await Registration.name.set()
await message.answer("Введите ваше имя:")

@dp.message_handler(state=Registration.name)
async def process_name(message: types.Message, state: FSMContext):
async with state.proxy() as data:
data['name'] = message.text
await Registration.next()
await message.answer("Теперь введите ваш возраст:")

text

**Преимущества:**  
- Упрощает обработку последовательных действий.  
- Хранит промежуточные данные между шагами.  
- Позволяет избежать коллизий в логике бота.  

Без FSM пришлось бы хранить состояние вручную, что усложняет код и повышает риск ошибок.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы