Центр оповещений (Telegram)
Система экстренного оповещения сотрудников Министерства регионального развития Московской области на базе Telegram Bot API.
Задача: координировать действия сотрудников при чрезвычайных ситуациях — быстро оповестить, получить подтверждение от каждого и видеть статус в реальном времени.
Трёхзвенная архитектура: веб-панель управления, бэкенд и Telegram-бот. Проект успешно мигрирован на VK MAX.
Ключевые возможности
Четыре типа тревог с кнопками действий
Inline-кнопки: «Эвакуировался», «Нужна помощь», «Принято дистанционно», «Ознакомлен». Статус мгновенно обновляется в веб-панели в реальном времени.
- «Нужна помощь» — с запросом местоположения и уведомлением
Веб-панель управления
- 8 функциональных разделов
- Шаблоны с автоподстановкой — {время}, {дата}, {место}
- 5-шаговый мастер отправки — с предпросмотром в стиле Telegram
Сотрудники и группы
- Импорт из Excel — до 500 сотрудников с валидацией
- Автоматическая регистрация — через ChatMemberHandler при добавлении бота в группу
- Накопительная база — поиск, фильтрация, виртуальные подгруппы
Массовая рассылка и отчёты
- Батчинг — 30 сообщений/сек
- Excel-отчёты — с развёрнутой шапкой и детальной статистикой
Как это работает
Администратор выбирает шаблон тревоги
Мастер отправки: группы и предпросмотр
Массовая рассылка в Telegram
Сотрудники нажимают кнопки действий
Статус в веб-панели и Excel-отчёт
Архитектура и технологии
Трёхзвенная архитектура: веб-панель на React/TypeScript, бэкенд на FastAPI с JSON-базой, Telegram-бот на python-telegram-bot. Подключение через Telegram Bot API с webhook-интеграцией, ConversationHandler для состояний диалога.
Бот с двумя режимами входа — Активация и Администратор, иерархия администраторов (супер-админ и обычные).
Развёртывание на Amvera с webhook и персистентным хранилищем.
Что сделано
Проектирование
- Техническое задание с описанием 4 сценариев тревог
- Проектирование трёхзвенной архитектуры (React + FastAPI + Telegram Bot)
Telegram-бот
- Бот с двумя режимами входа (Активация + Администратор)
- Подключение через Telegram Bot API с webhook-интеграцией
- ConversationHandler для управления состояниями диалога
- Иерархия администраторов (супер-админ + обычные)
- Система подтверждения с inline-кнопками в реальном времени
- Кнопка «Нужна помощь» с запросом местоположения и уведомлением
Веб-панель
- Веб-панель из 8 функциональных разделов
- Шаблоны с автоподстановкой {время}, {дата}, {место}
- 5-шаговый мастер отправки с предпросмотром в стиле Telegram
- Управление группами: реальные Telegram + виртуальные подгруппы
Сотрудники, рассылка, отчёты
- Импорт из Excel до 500 сотрудников с валидацией
- Автоматический импорт через ChatMemberHandler при добавлении в группу
- Накопительная база всех сотрудников с поиском и фильтрацией
- Excel-отчёты с развёрнутой шапкой и детальной статистикой
- Массовая рассылка с батчингом (30 сообщений/сек)
- Развёртывание на Amvera с webhook и персистентным хранилищем
⭐ Ключевой момент: сотрудник отвечает одной кнопкой в Telegram — и статус сразу появляется в веб-панели.
Итог
4 типа тревог с кнопками действий, импорт до 500 сотрудников, развёртывание на Amvera — и успешная миграция на VK MAX.
Подробнее о проекте
При чрезвычайной ситуации важно быстро оповестить всех сотрудников, получить подтверждение от каждого и сразу видеть, кто в безопасности, а кому нужна помощь. Рассылка по почте или обзвон для этого слишком медленные, а собрать ответы вручную почти невозможно.
Система сделана для Министерства регионального развития Московской области. Ею пользуются администраторы, которые отправляют тревоги, и сотрудники, которые получают их в Telegram.
Сначала было написано техническое задание с четырьмя сценариями тревог. Затем собрана система из трёх частей: веб-панель управления, серверная часть и Telegram-бот. Сотрудник получает оповещение и отвечает одной кнопкой: «Эвакуировался», «Нужна помощь», «Принято дистанционно» или «Ознакомлен». Статус сразу появляется в веб-панели. Кнопка «Нужна помощь» дополнительно запрашивает местоположение и отправляет уведомление.
Веб-панель состоит из восьми разделов. В ней есть шаблоны сообщений с автоподстановкой времени, даты и места и мастер отправки из пяти шагов с предпросмотром в том виде, как сообщение увидят в Telegram. Сотрудников можно загрузить из Excel, до 500 человек с проверкой данных, или они регистрируются автоматически, когда бота добавляют в группу. Все собираются в общую базу с поиском, фильтрами и виртуальными подгруппами. У бота два режима входа, активация и администратор, а администраторы делятся на главного и обычных. По итогам формируется отчёт в Excel с подробной статистикой.
Технологии: веб-панель на React и TypeScript, серверная часть на FastAPI с хранением данных в JSON, бот на Python с библиотекой python-telegram-bot, подключение через Telegram Bot API и webhook. Массовая рассылка идёт порциями по 30 сообщений в секунду. Система развёрнута на Amvera с постоянным хранилищем.
Проект работает в продакшене. Оповещение отправляется за 3–5 секунд, система поддерживает четыре типа тревог и импорт до 500 сотрудников. Позже проект был успешно перенесён на платформу VK MAX.