Встречается на собеседованиях • сегодня
Писал ли 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`) предпочтительнее.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы