Vladelo-Climate-Bot
Описание
Telegram-бот для получения статистики погоды! 🌤️
Языки
- Python97,7%
- Dockerfile2,3%
8 месяцев назад
8 месяцев назад
9 месяцев назад
9 месяцев назад
9 месяцев назад
месяц назад
9 месяцев назад
8 месяцев назад
9 месяцев назад
README.md
🌤 Vladelo-Climate-Bot — Telegram-бот для получения статистики погоды
Этот бот позволяет узнать среднюю дневную и ночную температуру, а также влажность в указанном месяце и городе.
🚀 Принцип работы
- Пользователь отправляет боту название города и месяц на русском языке (каждый с новой строки).
- Бот переводит город в транслит, а месяц — в его порядковый номер.
- Парсер получает данные о средней температуре и влажности за выбранный месяц.
- Бот отправляет пользователю ответ с температурой днем, ночью и уровнем влажности.
Пример запроса:
Москва
Январь
Пример ответа:
Погода в городе Москва за январь:
🌞 Днем: -5°C
🌙 Ночью: -12°C
💧 Влажность: 75%
⚙️ Установка и запуск
🔹 Вариант 1: Локальный запуск
1. Клонировать репозиторий
2. Установить зависимости
3. Добавить токен бота
Создай файл в корне проекта и добавь в него:.env
BOT_TOKEN=твой_токен
4. Запустить бота
🐳 Вариант 2: Запуск через Docker
1. Клонировать репозиторий
2. Создать .env на основе шаблона
.env
Укажи токен внутри :.env
BOT_TOKEN=твой_токен
3. Построить и запустить контейнер
📂 Структура проекта
/Vladelo-Climate-Bot
│── app/
│ ├── tg_bot.py # Код Telegram-бота
│ ├── parser.py # Парсер погоды
│ ├── utils.py # Вспомогательные функции: транслитерация города, перевод месяца
│ ├── main.py # Точка входа в приложение
│ ├── config.py # Загрузка настроек (токен для бота)
│
│── photos/
│ └── photo.jpg # Изображение для Readme
│
│── .env # Переменные окружения
│── .env.template # Шаблон для .env
│── requirements.txt # Зависимости (aiogram, dotenv и т.д.)
│── Dockerfile # Инструкция для сборки Docker-образа
│── .dockerignore # Исключения при сборке образа
│── .gitignore # Исключения для Git (например: .env, __pycache__, venv)
🎯 Технологии
- Python 🐍
- Aiogram 🤖 (асинхронный Telegram-фреймворк)
- BeautifulSoup 🌐 (парсинг данных о погоде)
- Requests 🔗 (отправка HTTP-запросов)
- Re (Regular Expressions) 🔍 (обработка и фильтрация данных)
- python-dotenv 🔐 (загрузка конфиденциальных данных из
).env - Docker 🐳 (контейнеризация и простота развертывания)
🛠 Дополнительно
- Чтобы скрыть
, не загружайBOT_TOKENв Git (он уже в.env)..gitignore - Бот поддерживает Markdown-разметку для красивого форматирования сообщений.
📬 Контакты
Автор: Владислав Лахтионов
GitHub: vladelo-code
GitHub: vladelo
Telegram: @vladelo
💌 Не забудьте поставить звезду ⭐ на GitHub, если вам понравился бот! 😉