Перед вами представлен телеграмм бот который может искать и сохранять фильмы для каждого пользователя по отдельности. За основу был взять KinopoiskApiClient который позволяет работать с API сервиса Кинопоиска от Яндекса.
Для хранения данных об "отложенных на потом" фильмов был использован SQL.
Данный бот может:
- Искать фильм по названию.
- Искать похожие фильмы.
- Искать фильмы по критериям: жанр, год N сьемки (с N по настоящий день), рейтинг, страна.
- Сохранять/Удалять фильмы для каждого пользователя на потом.
- Поиск фильма по названию:
- Подбор схожих фильмов:
- Работа "отложенных на потом" фильмов:
- Поиск фильмов по критерию:
-
Запуск идет через файл main.py . Когда пользователь начинает диалог с ботом, второй сразу создает файл .sql формата для хранения "отложенных на потом" фильмов. В качестве названия он берет chat_id, так как он уникальный для каждой переписки. После польхователь может искать фильмы.
-
Поиск фильма по названию реализован в файле search_movie.py . В ней реализованны метод как поиска кино - def search(message), так и подбор схожих с данным фильмов каталог - def show_related(message).
-
Поиск фильмов по критерию реализован в файле filter_movie.py . В ней реазилованны методы которые последовательно получают информацию о том, хочет найти пользователь. Как итог бот кидает по очередно список из 5-ти фильмов которые подошли по критрерию.
-
За работу "отложенных на потом" фильмов отвечает файл database_logic.py . В ней реалиованны метода как добавление фильмов - def add_to_list(message), удаления фильмов - def delete_from_list(message), так и показ списка фильмов - def show_movies_list(message). Для добавления фильмов в список создает файл с названием chat_id в папке tmp_for_clients. Для удаления из списка фильмов, пользователь должен вручную вписать ID фильма.
P.S. ник бота: @MovieLover404Bot (но не факт что он всегда запущен)