Бот-опросник «Кто ты из Очень странных дел»

Telegram-бот, который проводит пользователя через интерактивный тест из 10 вопросов и определяет персонажа по ответам. После завершения опроса бот отправляет персональный результат и фото выбранного персонажа. Проект построен на aiogram 3.x с использованием FSM для стабильного пошагового сценария.

10 вопросов в сценарии теста
4 итоговых персонажа
1 поток: /start до результата
Пользовательский опыт

Что реализовано

  • Быстрый старт теста через команду /start.
  • Пошаговый квиз с понятными вариантами ответов.
  • Динамический порядок ответов в каждом вопросе.
  • Финальное сообщение с описанием характера персонажа.
  • Отправка изображения персонажа после прохождения теста.
Результат Получился легкий и вовлекающий бот-опросник, который подходит для развлечения аудитории.
Логика и архитектура

Как работает под капотом

  • FSM хранит список ответов и номер текущего шага.
  • Inline callback обрабатывает выбор варианта без новых команд.
  • Счетчик ответов определяет наиболее частый вариант.
  • По итоговому индексу выбирается персонаж и соответствующее фото.
  • После завершения состояние очищается для нового прохождения.
Технический плюс Такая структура легко расширяется: можно добавить больше вопросов, новых персонажей и хранение статистики пользователей.
Технологический стек

Библиотеки и окружение

  • Python 3.14.
  • aiogram 3.x для Telegram Bot API.
  • FSM (MemoryStorage) для управления состояниями.
  • python-dotenv для загрузки TELEGRAM_BOT_TOKEN из .env.
  • InlineKeyboardMarkup для интерактивных ответов.
Python aiogram FSM dotenv Telegram API
Структура проекта

Что внутри репозитория

  • main.py - логика бота, сценарий опроса и обработчики.
  • README.md - инструкция по установке и запуску.
  • .env - токен бота для локального запуска.
  • 1.jpg-4.jpg - изображения итоговых персонажей.
  • requirements.txt - зависимости проекта.
Готовность к демо Проект запускается локально за несколько минут и демонстрирует практическое использование FSM, callback-обработчиков и работы с медиа.