Search
Write a publication
Pull to refresh

Comments 7

Сейчас, вроде, YouTube без валидных cookies не пускает на сайт, предлагая авторизоваться, доказав, что не бот. Как вы это обошли в своём боте?

Ничего не обходил, вся работа происходит в рамках yt-dlp. Единственное, что тут предпринято для "обхода" это http прокси, еще давно я подсчитывал 1-ого прокси хватает примерно на 300 скачиваний, потом просит ввести каптчу это единственное ограничение которое я заметил.

вроде как не для каждого видео это нужно

есть бесплатные, есть платные, в моем случае я их покупаю и для работы достаточно v6 прокси.

yt-dlp умеет скачивать отдельную аудиодорожку. у меня бот так скачивает лучшую из аудиодорожек без видео, затем пережимает в opus 24kb и еще ускоряет до 1.5х, получается хорошее качество и очень маленький размер файла. 1.5х - личные предпочтения, я почти всегда на такой скорости речь слушаю.

Скачивать видео целиком пробовал но телеграм не пропускает больше 50мб в сторону юзера без танцев с бубном, надо или юзербота использовать или их специальный прокси которому надо дохрена памяти, на дешевой впс не получится такое использовать.

для того чтобы телеграмм пропускал файлы более 50мг нужен TelegramBotAPIServer https://github.com/tdlib/telegram-bot-api , я его как раз использую и он идет в сборке, никаких танцев с бубном не нужно чтобы им пользоваться, если говорить о коде то единственное отличие с ним и без него

		if apiURL := os.Getenv("TELEGRAM_API_URL"); apiURL != "" {
			bot, _ = tgbotapi.NewBotAPIWithAPIEndpoint(os.Getenv("TELEGRAM_API_TOKEN"), apiURL+"/bot%s/%s")
		} else {
			bot, _ = tgbotapi.NewBotAPI(os.Getenv("TELEGRAM_API_TOKEN"))
		}

по поводу того почему качаю видео а потом достаю от туда аудио – делается это потому что собирается база fileId и складывается и когда в след раз кто-то захочет скачать повторно тот же файл я достану fileId и отдам файл без скачивания самого файла, поэтому при первой загрузке делается сразу полная скачка всего.

Sign up to leave a comment.

Articles