mediagothbot
Как ссылка превращается в видео прямо в чате
Кидаешь боту ссылку, можно посреди обычного текста, и через несколько секунд получаешь файл, который Telegram сразу проигрывает. То же работает в любом чате через @mediagothbot, без пересылки.
- Ссылканаходится даже в тексте
- Очередьдве задачи сразу
- Скачиваниеyt-dlp · до 30 минут
- СжатиеFFmpeg · до 49 МБ
- Отправкаfile_id в кэш
Каждая задача получает свою временную папку и удаляет её и после успеха, и после ошибки. Видео на сервере не копятся.
Ссылка находится в любом тексте
Бот ищет в сообщении адрес поддерживаемого сайта и проверяет домен, поэтому посторонний адрес ему не подсунуть. Прямые эфиры не берутся, ролик должен быть не длиннее 30 минут.
Очередь без давки
Тяжёлых задач одновременно идёт две. У одного человека может быть только одна активная задача, а всего в очереди до десяти человек. Тот, кто кидает ссылки пачками, не займёт бота для остальных.
Видео подгоняется под лимит
Боты в Telegram отправляют файлы до 50 МБ. Если ролик больше, битрейт считается от его длины с запасом 12% и 128 кбит/с на звук. Кодек приводится к H.264, а служебные данные переносятся в начало файла, чтобы видео начинало играть до полной загрузки.
bps = int(49 * 8 * 1024 * 1024 * 0.88 / duration) - 128000
Музыка по названию
Можно написать название трека или кинуть ссылку на SoundCloud или Spotify. Поиск идёт по YouTube, а если там пусто, по SoundCloud. Обложка достаётся из файла и ставится на трек. Под каждым видео есть кнопка, которая вытащит из него звук.
Работает в любом чате
В любой переписке пишешь @mediagothbot и ссылку. Бот готовит файл заранее и показывает его в выдаче только готовым, без заглушки «загрузка…». Пока ты печатаешь, запрос не уходит на каждую букву. Если скачивание медленное, оно продолжается в фоне, и файл появится при следующем запросе.
Второй раз быстрее
Готовый файл получает file_id Telegram, и бот запоминает его. Повторная ссылка на тот же ролик отдаётся сразу, без скачивания. Настройки (качество, подписи, ссылки на автора) и история у каждого свои.
Python · aiogram 3 · yt-dlp · FFmpeg · Telethon · SQLite
Вернуться к проектам