Telegram-бот « YouTube-помощник»

Бот Jerry это твой YouTube-помощник, который поможет скачать видео с ютуба, посмотреть рейтинг видео, его описание, количество просмотров, дату загрузки.

О проекте за минуту

История проекта

Мы выбрали Telegram-бота, потому что сами очень часто пользуемся ботами в данном мессенджере. С помощью Telegram-ботов очень удобно искать какую-либо информацию, ответы на запросы приходят быстро. Так же привлекает персональный подход к каждому человеку.

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

Мы начали искать информацию: на каком языке лучше написать бота? Выбрали Python, и поскольку этот язык нам малоизвестен, мы начали изучать его с нуля. Так же составили примерный план работы.

Примерный план работы

Далее нужно было придумать какой именно Telegram-бот мы будем делать. Поскольку времени было мало, мы решили, что это будет бот, основной функцией которого является скачивание видео с YouTube. К сожалению, идея была не очень практичная, так как YouTube «не хотел» чтобы с него что-то скачивал. Поэтому нам пришлось потратить все силы, чтобы устранить эту проблему.

Одна проблема была решена – появилась вторая. Изначально мы планировали парсить информацию с Savefrom.net, но у сайта оказалась защита. Мы пытались обойти эту защиту, но ничего не вышло. К счастью, один из участников предложил использовать библиотеку Pytube.

Далее необходимо было продумать какие дополнительные функции будет выполнять бот: показывать рейтинг видео, описание, количество просмотров, дата загрузки. Из-за проблем с YouTube и нехватки времени у нас получился простенький интерфейс.

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

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

Описание программной части

Простые роботы-помощники в телеграмме можно создавать без написания какого-либо кода, а воспользовавшись простыми конструкторами внутри мессенджера. Но такой вариант не смог бы осуществить все наши задумки. Наш бот написан на языке программирования Python 3.9.

Для создания бота мы обратились в прародитель всех ботов – BotFather, который выдал токен для нашего бота. Поискав информацию в интернете, мы поняли, что для написания бота существует уже готовая библиоткека telebot. Переменная bot, с которой производится дальнейшая работа в функциях, принимает токен бота от BotFather.

Изначально мы хотели парсить информацию с сайта Savefrom.net, но у нас не получилось обойти его защиту. Поэтому мы нашли выход из ситуации: нашем спасением оказалась библиотека pytube, которая работает с видеохостингом YouTube и позволяет с него скачивать видео.

Все функции «def», исполняющие работу бота:

1. start(message)

start(message) – Принимает команду /start и выводит главное меню

2. step1(message)

step1(message) – Принимает пункт главного меню и далее воспроизводит нужную функцию, соответствующую выбранному пункту меню

3. resolution(message)

resolution(message) – при выборе скачивания видео предлагает пользователю в каком качестве загрузить видео, далее переходит к функции link(message)

4. link(message)

link(message) – принимает ссылку на видео и загружает видео с Youtube в хранилище бота, далее отправляет видео пользователю в виде mp4 файла3

5. getrate(message)

getrate(message) – принимает ссылку на видео и выводит его рейтинг

6. getdescription(message)

getdescription(message) – принимает ссылку на видео и выводит его описание

7. getviews(message)

getviews(message) – принимает ссылку на видео и выводит его кол-во просмотров

8. getdata(message)

getdata(message) – принимает ссылку на видео и выводит его дату загрузки

9. bot.polling() – запускает код на сервера Telegram и бот начинает работe

Ccылки

  1. https://github.com/eternnoir/pyTelegramBotAPI
  2. https://towardsdatascience.com/build-a-youtube-downloader-with-python-8ef2e6915d97
  3. https://ru.stackoverflow.com

Команда проекта

  • Дмитрий Тихонов 1944 группа и Георгий Герасименко 1941 группа – разработка бота
  • Сметанин Александр 1941 группа и Константин Демин – разработка и поиск на сторонних ресурсах
  • Стадник Виктория 1941 группа и Мерзлова Анастасия 1944 группа– оформление бота и тестирование
Previous Article
Next Article