WindyCheck Bot — это современный асинхронный Telegram-бот на Python (aiogram 3 + aiohttp), предназначенный для отслеживания параметров ветра, порывов, прогнозов погоды, визуализации розы ветров и авто-уведомлений при сильном ветре.
Специально адаптирован для виндсёрферов, кайтсёрферов, яхтсменов, парапланеристов и любителей активного отдыха. Включает готовый кастомный раздел спотов Санкт-Петербурга и Ленобласти с оценкой пригодности для катания!
- 🏄♂️ Споты Санкт-Петербурга и Ленобласти: Готовые локации (Сестрорецк/Дюны, Кронштадт, Лахта, Зеленогорск, Кокорево/Ладога, Сосновый Бор, Комарово) с оценкой качества ветра для катания.
- 🌬️ Текущий ветер: Скорость (м/с), порывы, направление (градусы + визуальная стрелка 🧭), температура, ощущаемая температура, влажность и давление (мм рт. ст.).
- 📅 Прогноз на неделю (5-7 дней): Сводный суточный прогноз с автоматической перепроверкой раз в день и дневным кэшированием.
- ⏱️ Почасовой прогноз (24 часа): Детальный разбор ветра и порывов на ближайшие сутки.
- 📊 Подробная Инфографика: Генерация профессиональных двухпанельных PNG-графиков (
matplotlib) с динамикой ветра, порывов, пороговых линий, температуры и атмосферного давления. - 🧭 Роза ветров: Полярная диаграмма преобладающих направлений ветра.
- 🗺️ Интерактивные карты: Генерация прямых ссылок на карты погоды Windy.com с координатами локаций.
- 📍 Избранное (Мои города): Сохранение персонального списка спотов для каждого пользователя в
user_data.json. - 🔔 Авто-уведомления (Алерты): Фоновый мониторинг каждые 30 минут (
asyncio) и отправка push-оповещений при превышении заданного порога скорости ветра с защитой от спама.
В проекте уже подготовлена подробная полная документация для пользователя:
- 📄 Инструкция пользователя (DOCX) — документ в формате MS Word.
- 🌐 Инструкция пользователя (HTML) — веб-страница справки с оформленным дизайном для открытия в браузере.
git clone https://github.com/your-username/WindyCheck_bot.git
cd WindyCheck_botpip install -r requirements.txtСкопируйте файл .env.example в .env и укажите ваши токены:
cp .env.example .envОтредактируйте .env:
BOT_TOKEN=your_telegram_bot_token_here
OPENWEATHER_API_KEY=your_openweather_api_key_herepython bot.py(Или запустите двойным кликом файл run.bat на Windows)
| Команда | Описание |
|---|---|
/start |
Запуск бота и интерактивное Главное меню |
/spb |
Меню спотов СПб и Ленобласти с оценкой условий катания |
/wind [город] |
Текущий ветер и температура |
/week [город] |
Подробный прогноз на неделю (5-7 дней) с перепроверкой |
/forecast [город] |
Почасовой прогноз ветра на 24 часа |
/chart [город] |
Наглядный двухпанельный инфо-график метео-анализа |
/rose [город] |
Полярная диаграмма «Роза ветров» |
/map [город] |
Ссылка на живую карту Windy.com |
/track [город] |
Добавить город в Избранное |
/untrack [город] |
Удалить город из Избранного |
/mywind |
Ветер по всем избранным городам |
/alert [скорость] |
Оповещение при ветре > X м/с |
/alert off |
Отключить оповещения |
Проект распространяется под лицензией MIT.
