Наш телеграм-бот сделает всё, чтобы вы чувствовали себя комфортно в любую погоду и всегда знали, как можно провести время, а также не упустили интересные события вокруг вас 😊
Проект разработан для пользователей из разных городов России для лёгкого и быстрого доступа к новостям, мероприятиям и погоде.
Создание телеграм-бота, определяющего погоду, наилучшее сочетание в одежде, список актуальных мероприятий и новостей.
-
Предсказывать погоду.
-
Предоставлять пользователю лучшее сочетание одежды для погоды на данный момент, основываясь на его предпочтениях и личном ощущении той или иной погоды.
-
Давать возможность пользователю скорректировать рекомендации в одежде. Исправлять в будущем предсказания одежды, если пользователя не устроил результат.
-
Выводить самые актуальные на данный момент новости по запросу пользователя.
-
Выводить мероприятия по запросу пользователя.
__init__.py
main.py
– тело бота
__init__.py
personal_classif.py
– создание личной таблицы пользователя
__init__.py
buttons.py
– вызов функций для печати при нажатии определённых кнопок из меню
__init__.py
classification_news.py
– функция для печати новостейselect_event_by_topic.py
– функция для печати событийselect_new_by_topic.py
– функции для выбора конкретных новостей/мероприятий, выбранных пользователем
__init__.py
messagehandler.py
– обработка сообщения от пользователяmessagehandler_2.py
– обработка прочих встроенных командstarthandler.py
– для хранения информации о пользователе и чате
__init__.py
weather.py
– получение текущей погоды
__init__.py
clothes_response.py
– обработка комментария пользователя об одеждеrewrite_classif_data.py
– подбирает пользователю одежду по базе данных
__init__.py
event_parser_file.py
– парсер мероприятий
__init__.py
economic_parser.py
– парсер новостей экономикиincident_parser.py
– парсер новостей происшествийpolicy_parser.py
– парсер новостей политикиscience_parser.py
– парсер новостей наукиsociety_parser.py
– парсер новостей категории «общество»sport_parser.py
– парсер новостей спорта
__init__.py
assets.py
– стикеры, смайликиlogger.py
– команды ботаutilits_funcs.py
– вызов города пользователя из базы данных
- Для игнорирования Git некоторыми файлами
- Документация
- Модули для работы с
env
Примечание: __init__.py
обозначает, что каталог является Python-пакетом. Инициализирует пакеты: выполняет код при первом импорте пакета.
- Python 3.7+
- Установленные библиотеки из requirements.txt
- Токен Telegram-бота
Если у вас еще не установлен Python 3.7 или выше, скачайте и установите его с официального сайта python.org (https://www.python.org/downloads/).
-
Клонирование репозитория: git clone https://github.com/SomeBotMeOn/Helper-Buddy-Bot.git
-
Скачивание архива:
Если у вас есть архив с проектом, распакуйте его в удобное место на вашем компьютере.
-
Откройте терминал и перейдите в директорию с проектом: cd путь_к_директории_проекта
-
Создайте виртуальное окружение (рекомендуется): python -m venv venv
-
Активируйте виртуальное окружение:
- На Windows: venv\Scripts\activate
- На macOS/Linux:source venv/bin/activate
-
Установите необходимые библиотеки: pip install -r requirements.txt
-
Откройте Telegram и найдите бота @BotFather (https://t.me/BotFather).
-
Создайте нового бота:
Отправьте команду /newbot и следуйте инструкциям для создания бота. Вам будет предложено указать имя и юзернейм бота.
-
Получите токен
-
Создайте файл конфигурации:
В корневой директории проекта создайте файл .env или используйте существующий файл настроек (например, config.py), в зависимости от структуры вашего проекта.
-
Добавьте токен в файл конфигурации:
- Если используете .env файл, добавьте строку: TELEGRAM_BOT_TOKEN=ваш_токен_бота
- Если используете config.py, добавьте: TELEGRAM_BOT_TOKEN = 'ваш_токен_бота'
- Убедитесь, что вы находитесь в виртуальном окружении (если создавали его ранее).
- Запустите бота
При первом запуске бота на экране пользователя появляется команда «СТАРТ». Бот приветствует пользователя, используя в качестве обращения ник в Telegram. Далее бот запрашивает, как пользователь хотел бы, чтобы к нему обращались. После этого бот сохраняет пользователя в базу данных с базовым набором одежды. Затем бот запрашивает город — это необходимо для предсказания погоды и выбора актуальных мероприятий. Далее бот спрашивает, что бы хотелось узнать пользователю в данный момент. У пользователя в меню есть кнопки:
-
ПОГОДА — отправляет погоду на данный момент в регионе.
-
МЕРОПРИЯТИЯ — выводит 5 самых популярных мероприятий. Пользователь может узнать подробнее о каждом из них, нажав на мероприятие.
-
НОВОСТИ — бот запрашивает категории новостей, которые хотел бы увидеть пользователь (экономика, происшествия, политика, наука, общество, спорт). После выбора категории предоставляются 5 самых актуальных новостей. При нажатии на новость бот отправляет ссылку на неё.
-
ОДЕЖДА — бот рекомендует пользователю одежду, соответствующую погоде.
-
ОТЗЫВ — в случае неудовлетворения пользователя одеждой, которую порекомендовал бот, пользователь может отправить свой отзыв:
- "Мне было очень жарко / надел одежду гораздо легче"
- "В этом было жарковато / оделся чуть-чуть полегче"
- "Да, это подходило под погоду"
- "В этом было прохладно / оделся чуть-чуть теплее"
- "Мне было очень холодно / надел одежду гораздо теплее"
Далее бот благодарит пользователя за отзыв.
- /start — приветствие с именем и фамилией
- /information — информация о чате и пользователе
- привет — эмодзи приветствия (👋)
- id — ID пользователя
- /site_weather, /website_weather, /сайт_погода — ссылка на сайт с погодой
- /users — выводит всех пользователей