Я создал Телеграм бота (FYTT), который ищет Телеграм каналы всех ваших подписок на ютубе

в 6:21, , рубрики: Новости

FYTT - FromYoutubeToTelegram (https://t.me/FYTTproject_bot)

Проснулся, улыбнулся, прочитал о том, что YouTube замедляют, снова улыбнулся, зашел на YouTube — не работает. Перестал улыбаться, начал думать, что можно круто сделать по этому поводу. Увидел, что все байтят перейти в их Telegram (вот, кстати, мой), и появилась идея создать бота, который получает список подписок пользователя на YouTube, ищет Telegram-каналы всех подписок и выдает их пользователю списком, чтобы он не потерял любимых авторов. Думаю, идея нормальная — хитом, конечно, не станет, но в первую очередь делал для опыта.

До этого я, конечно, создавал ботов. По сути, я умел все, что нужно для проекта:

  • Работа с базой данных (использую MongoDB, в профессиональном сообществе её немного хейтят, но ладно).

  • Основной язык — Node.js + фреймворк telegraf.js.

  • Работа с Google API (YouTube API, в частности) — делал авторизацию для сайта с цитатами (недоделал, к сожалению, лежит уже год полумёртвым. Если есть гениальные идеи сделать лучший сайт с цитатами, пишите мне, покреативим).

Да, в принципе, это всё, что нужно по стеку.

Так как делал проект на полном вайбе, под музыку, конечно, никакой логики не прописал, но решил затестить, что сможет сделать ChatGPT — и не зря. Он написал основной код, логика которого мне понравилась. Разумеется, чтобы его запустить, нужно было сделать кучу правок, а чтобы он заработал — многое переписать. Но в целом я оказался доволен работой ChatGPT — это реально будущее. Причём я осознал, что он смог выдать нормальный код лишь потому, что я сам чётко понимал, как будет работать бот. А значит, программисты ещё долго будут мучиться на своих креслах, работая на корпорации.

Итак, в первой версии бота была авторизация, которая не работала.

Во второй версии появилась авторизация, которая заработала.

В третьей версии основной функционал заработал, но идея не была раскрыта, так как бот искал ссылки на Telegram-каналы ютуберов из моей базы данных, в которой было всего 3 канала — что, конечно, никуда не годилось. Тогда я быстро понял, что почти все YouTube-каналы оставляют в описании ссылки на свои Telegram-каналы, а значит, взять их — дело лёгкое, верно?

Ах да. YouTube API аж 3-й версии не способен получать ссылки каналов... Это же чуть ли не базовая функция API — получать всё, что написано на странице.

Благо нашёлся энтузиаст, который уже сделал своё API — yt.lemnoslife.com, где это хорошо реализовано. Респект автору огромный.

Ну и после этого последовал миллион фиксов багов и непоняток, потому что я неопытный и слабый разработчик. В итоге всё работает, но появилась другая проблема: бот запрашивает конфиденциальные данные пользователя — список его подписок, а значит, Google просто так не даст их получать тому, о ком ничего не знает. (Для тестов можно добавлять тестового пользователя).

Чтобы Google тебя одобрил, нужен сайт с главной страницей и политикой конфиденциальности.

«Кайф», — подумал я.

На самом деле заглушку сделать очень просто (домен, правда, пришлось покупать), вопрос был в содержании.

Первый раз Google не понравился логотип моего приложения, потому что он «не отражает индивидуальность» (или как-то так, короче, наверное, потому что слишком хорошо читается логотип YouTube и Telegram, с чем я согласен).

Смысл: Телеграм поглощает ютуб / Ютуб сгорает, а там телеграм

Смысл: Телеграм поглощает ютуб / Ютуб сгорает, а там телеграм

Тогда я решил показать всю свою харизму и индивидуальность:

FYTT - FromYoutubeToTelegram, что и написано на фоне

Этот они приняли. 🥳

Далее Google не понравилась политика, которую написал ChatGPT. Они жёстко написали: мол, «в вашей политике сказано, что Google продаёт данные пользователей». Я перечитал и такого там не увидел. Закинул в ChatGPT, он всё пофиксил, и наконец меня одобрили.

Далее я всё релизнул, украсил, фиксил баги неделю-две и решил рассказать об этом людям, сделав два забавных Shorts.

https://youtu.be/N0IGLuufSCE, https://youtu.be/MlXEUIDBhE0 - Speech to speech моей записи на ии оригинального голоса Рика из Рика и Морти

На данный момент моим ботом воспользовались 37 человек, но многие просто тыкнули /start и больше не заходили — что обидно :(

Кому интересно:

Бот - https://t.me/FYTTproject_bot

Исходный код - VitoSperansky/FromYoutubeToTelegram: Бот для поиска телеграмм каналов всех ютуберов, на которые вы подписаны в "два клика". (github.com)

Сайт - fytt.tech:3000 (порт 3000, потому что порты ниже 1024 по умолчанию закрыты для установки серверов, их можно открыть, но это угроза безопасности. По-хорошему мне надо было сделать переадресацию с 443 порта (он дефолтный для https сайтов, поэтому скрыт в поисковой строке и пользователи его не видят) с помощью ngrok например, но я не стал тратить силы, так это все равно заглушка для гугла).

Связаться со мной по вопросам или просто - https://t.me/vitosperansky

Автор: VitoSperansky

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js