В одной из московских школ мы сделали Telegram-бота, который автоматизировал «операционку»: согласия на мероприятия, запись на кружки, заявки в хозчасть/ИТ, массовые оповещения, анонимный канал психолога и контур директора с согласованиями и дашбордами. Я старался максимально упростить сложную и разрозненную модель управления.

Проект реально сработал, но его пришлось закрыть: с 2025/26 учебного года все школьные коммуникации перевели в национальный мессенджер «Макс» (MAX), а Telegram оказался «под запретом».


МЭШ, Сферум и наш бот: кто за что отвечает

  • МЭШ (Московская электронная школа) — отлично работает с расписанием и оценками, но не заточен под операционные процессы;

  • Сферум — позиционировался как «безопасная альтернатива WhatsApp», но по сути просто чат без автоматизации;

  • Наш бот в Telegram — это надстройка над повседневной школьной деятельностью. Он решал задачи, которых не было ни в МЭШ, ни в Сферуме:

    • автоматический сбор согласий,

    • учёт кружков и посещаемости,

    • тикет‑система для хозчасти/ИТ,

    • шаблоны уведомлений и отчётность «кто ответил»,

    • анонимный канал психолога,

    • взаимодействие «Родитель — администрация»,

    • управленческий контур директора.

По сути, «Сферум» был просто чат-платформой (аналог WhatsApp, но «для школ»), а бот - инструментом автоматизации и учёта.


Какие задачи решал бот

  • Мероприятия и экскурсии — карточка события, согласия родителей кнопкой «Да/Нет», выгрузки списков.

  • Кружки и секции — запись с квотой мест, учёт посещаемости, напоминания о пропусках.

  • Заявки в хозчасть/ИТ — тикет‑система с приоритетами, статусами и SLA.

  • Шаблоны и напоминания — «Ознакомлен/Приду», отчёт «кто не ответил».

  • Анонимная линия психолога — чат без раскрытия личности ученика.

  • Контур директора и администрации школы — согласования (выезды, закупки), дашборды по заявкам/ответам, экстренные рассылки, аудит.


Архитектура и стек

# Основа
Python 3.11 + aiogram 3.x
PostgreSQL 15
Redis 7.x
APScheduler 3.x

# Инфраструктура  
Docker + Docker Compose
Nginx (reverse proxy)
Prometheus + Grafana
Loki (логи)

# Интеграции
Google Sheets API
Telegram Bot API

Роли: student, parent, teacher, admin, psychologist, director.
Вход только по инвайт-коду.

flowchart TD
  subgraph Telegram
    U1[Ученики]
    U2[Родители]
    U3[Учителя]
    U4[Администраторы]
    U5[Психолог]
    U6[Директор]
  end

  subgraph Bot[Telegram Bot (aiogram)]
    A1[Роутинг/сценарии]
    A2[RBAC/политики]
    A3[Inline-UI]
  end

  subgraph Backend
    DB[(PostgreSQL)]
    R[Redis — очереди/повторы]
    S[Scheduler — напоминания]
  end

  subgraph Integrations
    G[Google Sheets — отчёты]
    X[Файловые выгрузки (внутр. контур)]
  end

  U1-->A1; U2-->A1; U3-->A1; U4-->A1; U5-->A1; U6-->A1
  A1-->DB; A1-->R; A1-->S; A1-->G; A1-->X

Технические детали

  • Производительность

    • 1 школа, ~600 пользователей.

    • Массовые рассылки по 500+ адресатам проходили за ~40–60 секунд.

    • Пиковые нагрузки - утром при рассылке уведомлений: до 50 RPS.

  • Мониторинг

    • Prometheus + Grafana (внутренние метрики).

    • Логирование JSON (парсинг в Loki).

    • Метрики: время отклика (среднее 180–250 мс), процент доставки сообщений (≈ 98%).

  • Резервное копирование

    • Ежедневные дампы PostgreSQL → облако (зашифровано).

    • Redis — не критичен (данные восстанавливались из основной БД).

    • Конфиги/секреты — в vault + зашифрованные .env.


Конкретные метрики эффекта

До бота vs После:
- Время сбора согласий: 2–3 дня → 4–6 часов
- Доля ответивших родителей: 60% → 85%
- Время решения IT-заявок: 5 дней → 2 дня (среднее)
- Отображение задач в реальном времени со статусами исполнения

Проблемы и их решения

  • Спам/флуд

    • Ограничение на количество сообщений в минуту.

    • Inline-кнопки вместо текстовых «Да/Нет» — исключили шум.

    • Антидубли (Redis-ключи на сообщения).

  • Onboarding

    • Печатные инструкции с QR-кодом для родителей.

    • Мини-воркшоп для учителей («3 кнопки, которые вам нужны»).

    • Роль «админ класса» — помогала коллегам с установкой.

  • Изменения регламентов

    • Гибкая модель согласований (матрицы в БД).

    • Возможность вносить новые категории тикетов без перекомпиляции.

    • Настройка SLA под требования директора.


Альтернативы и миграция

Когда стало ясно, что Telegram уходит, «Сферум» логично рассматривался как альтернатива. Но у него была ключевая проблема: нет API и нет возможности встроить сторонних ботов.

Мы рассматривали:

  • Сферум — подходит для чатов, но без автоматизации.

  • ВКонтакте — есть API, но adoption родителей хуже.

  • MAX — туда ушёл Сферум, но API тоже закрыто → миграция невозможна.

Что спасли: саму бизнес-логику (согласия, тикеты, отчётность).
Что потеряли: транспорт (Telegram и его удобство).


Почему закрыли

С сентября 2025 года все школы обязаны перевести коммуникации в «Макс», куда интегрировали «Сферум». Telegram оказался запрещён. API «Макса» и «Сферума» для сторонних разработчиков отсутствует, поэтому перенести бота напрямую невозможно.


Выводы

  • Бот решал задачи, которых не было в МЭШ и Сферуме.

  • Открытые API = инновации. Telegram позволял создавать рабочие инструменты, «Сферум/Макс» пока нет.

  • В EdTech в России продукт может умереть не от отсутствия спроса, а от регуляторных изменений.