К содержимому
Hub
Конечные автоматы в aiogram

Конечные автоматы в aiogram

Боты2026Pythonaiogram 3FSMУчебный

Учебный разбор пошаговых диалогов в телеграм-ботах: как бот помнит, о чём спрашивал, и куда складывает введённые ответы.

Разбор одной темы: как в телеграм-боте сделать разговор из нескольких шагов.

Задача выглядит простой, пока не окажется, что бот не помнит, о чём спрашивал минуту назад: каждое сообщение приходит само по себе. Решение — конечный автомат: у каждого пользователя есть текущее состояние, обработчик срабатывает только в нужном, а введённые ответы копятся до конца формы.

В репозитории собраны маршрутизаторы, клавиатуры и заготовка структуры проекта, на которой удобно начинать своего бота.

Отсюда выросла форма бронирования в боте для ресторана — там тот же приём применён к настоящей задаче.

Как это устроено

Фрагмент из настоящего кода проекта — чтобы было видно, что внутри.

Репозиторий
Python
from aiogram import Bot, Dispatcherfrom app.handlers.start import router as start_routerfrom app.handlers.custom import router as custom_routerload_dotenv()TOKEN = getenv("BOT_TOKEN") or ""setup_logger()logger = logging.getLogger(__name__)dp = Dispatcher()dp.include_routers(start_router, custom_router)async def main():    bot = Bot(token=TOKEN)    await dp.start_polling(bot)if __name__ == "__main__":    asyncio.run(main())
Связаться

Заявка на проект

Заполните форму — обсудим детали и сроки.

По проекту: Конечные автоматы в aiogram
Следующий проект

IT² Hub — сайт студии