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

Писал ли telegram бота без использования FSM

Да, писал. Можно обойтись без FSM (Finite State Machine), особенно для простых ботов. Вместо этого можно хранить состояние пользователя в базе данных (например, SQLite, Redis) или даже в словаре.

Пример без FSM:

python
from aiogram import Bot, Dispatcher, types

bot = Bot(token="TOKEN")
dp = Dispatcher(bot)

user_states = {} # Храним состояние в памяти (не для продакшена)

@dp.message_handler(commands=['start'])
async def start(message: types.Message):
user_states[message.from_user.id] = "waiting_for_name"
await message.answer("Введите ваше имя:")

@dp.message_handler()
async def process_name(message: types.Message):
user_id = message.from_user.id
if user_states.get(user_id) == "waiting_for_name":
await message.answer(f"Привет, {message.text}!")
del user_states[user_id] # Сброс состояния

text

**Плюсы без FSM:**  
- Простота для элементарных сценариев.  
- Меньше зависимостей.  

**Минусы:**  
- Сложно масштабировать.  
- Нет удобного управления состояниями.  

Для сложных ботов FSM (например, `aiogram.fsm`) предпочтительнее.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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