Skip to content

AnnaProkusheva/TelegramBot-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

#Телеграм-бот по поиску фильмов

##Описание проекта Данный проект представляет собой телеграм-бота, который позволяет пользователям искать фильмы и сериалы с использованием API Кинопоиска. Бот поддерживает поиск по названию, рейтингу, бюджету, а так же ведет историю и позволяет сохранять избранные фильмы.

##Основные возможности

  • Поиск фильма/сериала по названию
  • Поиск фильмов/сериалов по рейтингу
  • Поиск фильмов/сериалов по жанру
  • Поиск фильмов с низким/высоким бюджетом
  • Просмотр истории предыдущих поисков
  • Добавление фильмов в избранное и просмотр списка избранных

#Команды и управление ботом

  • Добавлены базовые команды для управления ботом:
    • /start - запуск бота, вывод приветственного сообщения и основной клавиатуры с кнопками
    • /stop - остановка обработки команд для конкретного пользователя, приостановка работы бота
    • /help - выводит список доступных команд с краткой инструкцией
  • Для удобства пользователя реализованы реплай-кнопки:
    • Старт - вызывает команду /start
    • Стоп - вызывает команду /stop
    • Помощь - вызывает команду /help
  • Все основные команды так же доступны через инлайн-клавиатуру для быстрого и удобного взаимодействия
  • Добавлены обработчики команд добавления фильма в избранное и удаления из него, а также возможность просмотра списка избранных фильмов.

#Используемы технологии и библиотеки

  • Python 3.12
  • pyTelegramBotAPI - для работы с Telegram API
  • Peewee ORM - для работы с базой данных SQLite
  • requests - для отправки HTTP-запросов к API Кинопоиск
  • Virtualenv - для изоляции окружения

#Установка и запуск

  1. Клонировать репозиторий: git clone https://gitlab.skillbox.ru/anna_prokusheva/python_basic_diploma/-/tree/master

  2. Перейти в каталог проекта и активировать виртуальное окружение: python -m venv .venv Windows .venv\Scripts\activate Linux/MacOS source .venv/bin/activate

  3. Установить зависимости: pip install -r requirements.txt

  4. Создать файл .env в корне проекта и добавить переменные окружения: BOT_TOKEN=ваш_токен_бота X-API-KEY=ваш_токен_кинопоиска

  5. Запустить бота: python main.py

#Демонстрация работы с API Кинопоиска Пример запроса к API из кода:

import requests headers={ 'X-API-KEY':'ваш_токен_кинопоиска' } params={ 'keyword':'matrix', 'limit': 5, } response=requests.get('https://api.kinopoisk.dev/v1.4/movie', headers=headers, params=params) deta=response.json() print(data)

Пример ответа: { 'docs':[ { 'name':'Матрица', 'year': 1999, 'rating': 8.7, 'description':'Фильм о будущем...' } ] }

#План разработки и реализованные задачи

  1. Инициализация и запуск базового бота с реализацией базовых команд /start и /help:
  • Команда /start выводит приветственное сообщение и краткое описание бота
  • Команда /help выводит список всех доступных команд с описанием
  • Реализация отдельных обработчиков команд в структуре проекта
  • Бот успешно запущен и протестирован локально в PyCharm
  1. Реализация функционала поиска фильма по названию
  • Пользователь может искать фильмы по названию с помощью команды /movie_search
  • Вывод результатов с форматированием для удобства чтения
  1. Добавление поиска по рейтингу, жанру и бюджету
  • Поиск фильмов по рейтингу (/movie_by_rating)
  • Поиск фильмов по жанру (/movie_by_genre)
  • Поиск фильмов по бюджету:
    • Фильмы с низким бюджетом (/low_budget_movie)
    • Фильмы с высоким бюджетом (/high_budget_movie)
  1. Хранение истории запросов через Peewee ORM
  • История запросов пользователей сохраняется в базе данных с возможностью фильтрации по дате
  • Логируются все запросы пользователя для удобства последующего анализа и повторного использования
  1. Реализация избранного
  2. Обработка ошибок и логирование
  • Настроено логирование всех значимых событий и ошибок с помощью модуля logging
  • Ошибки корректно обрабатываются и информируют пользователя
  1. Тестирование и отладка
  2. Документирование и подготовка к сдаче

Текущий статус

  • Все этапы работы выполнены. Документирование сделано, проект готов.

##Требования

  • Puthon 3.10+
  • Зарегистрированные и активные токены Telegram Bot и API Кинопоиска.
  • Активное интернет-соединениее для работы с API

##Контакты Вопросы и предложения по проекту направляйте на почту: any93_16@mail.ru

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages