Skip to content

Telegram bot to get weather for today and tomorrow by city

Notifications You must be signed in to change notification settings

Alexa201228/weather_bot

Repository files navigation

Telegram бот для получения прогноза погоды

НА ДАННЫЙ МОМЕНТ БОТ ЗАПУЩЕН НА СЕРВЕРЕ!

Описание проекта

Данный бот используется для получения прогноза погоды с сервиса "Яндекс.Погода". Для получения прогноза погоды используется парсинг с помощью Selenium. Данная библиотека выбрана для загрузки контента страниц, использующих JavaScript код.

В качестве библиотеки для бота используется aiogram. Данная библиотека позволяет обрабатывать запросы в асинхронном режиме, что ускоряет работу бота для большого количества пользователей пользователей.

Данный проект использует технологию контейнеризации с помощью Docker, что упрощает процесс его развертывания.

Инструкция по развертыванию проекта

Если установлен docker compose, то проект можно развернуть с помощью команды:

docker compose up --build

Развертывание без docker compose

  1. В папке проекта создаем виртуальное окружение:
python -m venv venv
  1. Активируем виртуальное окружение:

Для Windows:

venv\Scripts\activate

Для Linux и MacOS:

source venv\bin\activate
  1. Устанавливаем необходимые пакеты:
pip install -r requirements.txt
  1. Запускаем бота:
python bot_app/bot_engine.py

Использование бота:

При получении команды /start бот отправляет приветствие с запросом для поиска города:

img.png

Далее следует запрос на подтверждение города:

img_1.png

При подтверждении города следует запрос на выбор опции:

img_2.png

При отказе от выбранного города присылается запрос на повторный выбор города:

img_3.png

При возникновении ошибки бот начинает диалог сначала:

img_4.png

При отсутствии города бот посылает запрос на повторный ввод:

img_5.png

About

Telegram bot to get weather for today and tomorrow by city

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published