Олимпиадный тренинг

Задача . Telegram-бот. Умный Кинобот 1.0


Задача

Темы:
Цель:

Научиться обрабатывать как команды, так и обычные текстовые запросы, используя единую логику для поиска фильмов.

Используя код telegram-бота, который приведен в теоретической части, напишите своего "Умного кинобота"

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

Обязательные задания

Обработка текстовых запросов 

Бот должен понимать естественные запросы (ввод строки пользователем). Реализуйте обработку:

Что вводит пользователь Как должен реагировать бот
"фильмы режиссёр" Выводит список фильмов режиссёра (как в оригинальной команде /director).
"фантастика 2010" Ищет фильмы по жанру и году.
"фильмы с рейтингом выше 8.5" Показывает фильмы с рейтингом ≥ 8.5 (аналог /film рейтинг 8.5).
"случайный фильм" Рекомендует случайный фильм (как /random).
 

Технические требования:

  • Используйте единую функцию handle_text для обработки всех текстовых запросов.
  • Для поиска по режиссёру, жанру и рейтингу применяйте разбор строки (методы split()in и т.д.).
  • Вы можете обработатывать ввод пользователя на свое усмотрение, но должна прослеживаться логика и пользователь должен иметь возможность запросить жанр, рейтинг, режиссёра и другую возможную информацию. 


2. Обработка команд
 

Команда Действие
/help Показывает подсказку по форматам запросов.
/stats Выводит статистику по базе.
/search <запрос> Ищет по названию фильма
/random Возвращает случайный фильм

Команда /random

  • Бот возвращает случайный фильм из базы в формате:

    🎬 Случайный фильм: Король Лев  
    📅 Год: 1994  
    🎭 Жанр: мультфильм  
    👨‍💻 Режиссер: Оллерс  
    ⭐ Рейтинг: 8.8  

Команда /stats

  • Бот выводит статистику по базе фильмов:

    • Общее количество фильмов.

    • Самый старый и самый новый фильм.

    • Средний рейтинг всех фильмов.

  • Пример ответа:

    📊 Статистика:  
    Всего фильмов: 5  
    Самый старый: Крепкий орешек (1988)  
    Самый новый: Джентельмены (2019)  
    Средний рейтинг: 8.5  

Команда /search

  • Ищет фильмы по названию (даже если введена часть слова, используйте эмодзи и переносы строк для визуального отображения информации).

  • Пример:

    • /search лев → находит и выводит информацию о фильме (фильмах) в формате:

    • 🎬 Найденный фильм: Король Лев  
      📅 Год: 1994  
      🎭 Жанр: мультфильм  
      👨‍💻 Режиссер: Оллерс  
      ⭐ Рейтинг: 8.8  
    • Если ничего не найдено:

      Фильмы по запросу "лев" не найдены.  

В качестве ответа прикрепите файл bot_ВашаФамилия.py Предварительно УДАЛИТЕ ТОКЕН из программы.


time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя