БПЛА24 — модульный асинхронный Telegram-бот с открытым исходным кодом для непрерывного мониторинга воздушной обстановки, угроз атак БПЛА, ракетной опасности и сигналов тревоги по всей территории Российской Федерации.
- Кто мы: Команда и создатели проекта — граждане Российской Федерации, постоянно проживающие и находящиеся на территории РФ.
- Цель проекта: Защита жизни и здоровья гражданского населения, обеспечение своевременной информацией об угрозах и повышение осведомленности граждан о правилах безопасного поведения.
- Источники: Бот агрегирует информацию исключительно из открытых публичных источников (МЧС РФ, региональные оперативные штабы, открытые сводки и открытый Public Read-Only API Radar Russia).
- Неофициальный статус: Бот не является государственной системой оповещения (ГО ЧС/МЧС) и носит исключительно информационный характер. В любых экстренных ситуациях руководствуйтесь официальными оповещениями экстренных служб.
- Снятие ответственности: Авторы и разработчики не несут ответственности за любые последствия, прямой или косвенный ущерб при использовании сервиса или технических сбоях сторонних каналов связи.
- Законодательство РФ (Запрет на съемку):
⚠️ Категорически запрещено снимать и публиковать в открытый доступ фото и видео полетов БПЛА, ракет, работы систем ПВО и мест падения обломков.- Распространение таких материалов влечет уголовную и административную ответственность (вплоть до ст. 275, 283.1 УК РФ).
- При обнаружении подозрительных объектов не приближайтесь к ним и звоните 112.
Проект спроектирован по слоям с полным разделением ответственности:
bpla24/
├── app/
│ ├── config/ # Управление настройками (Pydantic Settings)
│ ├── models/ # Схемы данных и доменные сущности (Pydantic)
│ ├── database/ # Асинхронный слой хранения данных (aiosqlite + Repository Pattern)
│ ├── ingestion/ # Адаптеры парсинга источников (Telegram, RSS, HTML, Radar Russia API)
│ ├── nlp/ # Очистка шума, классификация угроз, извлечение гео и дедупликация
│ ├── services/ # Бизнес-логика: мониторинг, очередь рассылки, форматирование, памятки
│ └── bot/ # Интерфейс Telegram: роутеры, хэндлеры, inline/reply клавиатуры, FSM
├── data/
│ ├── sources.json # Конфигурация источников и 89 регионов РФ
│ └── alerts_bot.sqlite3# База данных SQLite
├── main.py # Точка входа в приложение
├── requirements.txt # Зависимости
├── Dockerfile # Контейнеризация
├── docker-compose.yml # Управление контейнером
├── bpla24.service # Systemd unit для Linux
└── LICENSE # GNU General Public License v3.0
-
Клонируйте репозиторий:
git clone https://github.com/ehristoforu/bpla24.git cd bpla24 -
Создайте файл
.env:cp .env.example .env nano .env
Укажите ваш токен Telegram:
TELEGRAM_BOT_TOKEN=1234567890:AAExampleTokenHere
-
Запустите контейнер:
docker compose up -d --build
-
Установите Python и venv:
sudo apt update && sudo apt install -y python3 python3-venv python3-pip -
Подготовьте окружение:
cd /opt git clone https://github.com/ehristoforu/bpla24.git cd bpla24 python3 -m venv venv source venv/bin/activate pip install -r requirements.txt cp .env.example .env nano .env
-
Запустите бота:
python main.py
-
Скопируйте файл сервиса:
sudo cp bpla24.service /etc/systemd/system/bpla24.service sudo systemctl daemon-reload sudo systemctl enable bpla24 sudo systemctl start bpla24 -
Просмотр логов:
sudo journalctl -u bpla24 -f
- 🇷🇺 Режимы оповещений: Выбор между оповещениями «Вся Россия» или «Только мой регион/город».
- ⚡️ Live Radar Russia API: Интеграция с публичным потоком и снимком активности радара.
- 🚨 Памятка безопасности: Интерактивное руководство по поведению в помещении, на улице, в автомобиле и при обнаружении обломков.
- ⚖️ Правовая справка: Разъяснение ответственности за публикацию фото/видео работы ПВО и мест падения.
- 📊 Мгновенный статус: Просмотр последних актуальных угроз по выбранному региону в один клик.
Проект распространяется под свободной лицензией GNU General Public License v3.0 (GPL-3.0). См. файл LICENSE.
@software{ehristoforu_BPLA24_2026,
author = {ehristoforu},
month = aug,
title = {{BPLA24}},
url = {https://github.com/ehristoforu/bpla24},
year = {2026}
}