Сложность - задача со звездочкой
Бот задеплоен на Heroku и доступен в Telegram @weather_outlook_bot
-
Клонируйте репозиторий
git clone https://github.com/DaniilGumin/WeatherOutlookBot.git
-
Установите зависимости
pip install -r requirements.txt
либоpip3 install -r requirements.txt
-
Установите переменные окружения
- TELEGRAM_TOKEN_WEATHER_FORECAST_BOT - токен telegram-бота
- WEATHER_API_KEY - токен OpenWeatherMapAPI
- Запустите
python3 main.py
Интерфейс сервиса реализован в виде Telegram-бота. Пользователь получает текстовый прозноз погоды, который состоит из:
- Температуры и температуры по ощущениям
- Типа погоды - ясно, облачно, дождь. Кроме текста также высылается соответствующий смайлик
- Скорости ветра
- Информации об облачности
- Рекомендации одежды. Рекомендация дается с учетом температуры, солнечной или дождливой погоды
При разработке бота использовался язык Python 3
Применялись библиотеки python-telegram-bot
и pyowm (обертка над OpenWeatherMapAPI).
- Когда бот получает команду /start, он высылает сообщение с инструкцией по использованию.
- Когда бот получает текстовое сообщение, он рассматривает его как название города и отправляет запрос на получение погоды в OpenWeatherMapAPI. Если OpenWeatherMapAPI сообщает, что такого города нет, пользователю предлагается уточнить запрос или отправить геолокацию города. Если город найден, пользователю высылается прозноз погоды.
- Когда бот получает сообщение с геолокацией, отправляется запрос в OpenWeatherMapAPI на получение прогноза погоды по координатам. Пользователю высылается сообщение с прогнозом погоды.
- После ввода города или геолокации бот сохраняет её и отображает кнопку, по которой можно повторить последний запрос.