6.3 KiB
ebany video bot
Translation:
Цей Telegram-бот призначений для зручного завантаження медіафайлів за посиланнями з популярних соціальних мереж.
Бот автоматично завантажує відео в найкращій доступній якості, адаптує їх для нативного програвача Telegram, а також може витягувати аудіодоріжки.
Можливості
- Мультиплатформеність:
- Підтримує посилання з YouTube (включаючи Shorts), TikTok, Instagram (Reels/Posts) та SoundCloud.
- Пропонує вибір: завантажити як Відео або Аудіо. (Для SoundCloud також можна завантажити обкладинку).
- Обробка відео:
- Примусове перетворення та вибір кодеку в H.264 (MP4) для безперебійного відтворення прямо в чаті Telegram.
- Підтримує потокове передавання відео (користувачі можуть почати перегляд до повного завантаження файлу в кеш).
- Збереження оригінальної якості: відео надсилаються як несжаті документи, щоб уникнути вбудованого стиснення Telegram.
- Витягування аудіо та метаданих:
- Конвертує аудіодоріжки у формат MP3 (320kbps).
- Автоматично вбудовує якісну обкладинку безпосередньо в завантажені файли MP3.
- Витягує оригінальні обкладинки треків (мініатюри) та надсилає їх як несжаті файли з динамічними, безпечними іменами файлів.
- Логування:
- Веде детальні логи з щоденною ротацією в директорії
logs/.
- Веде детальні логи з щоденною ротацією в директорії
- Асинхронність:
- Завантаження файлів не блокує роботу бота для інших користувачів завдяки
asyncio.to_thread.
- Завантаження файлів не блокує роботу бота для інших користувачів завдяки
Вимоги
Для запуску бота вам знадобиться:
- Python 3.8+
- FFmpeg (на рівні системи) — критично важливо для коректної роботи
yt-dlp(об'єднання відео та аудіо, конвертація кодеків).
Встановлення FFmpeg:
- Ubuntu/Debian:
sudo apt update && sudo apt upgrade && sudo apt install ffmpeg - Windows:
-
Спосіб 1 (Рекомендований): Відкрийте термінал (PowerShell або CMD) та виконайте:
winget install Gyan.FFmpeg⚠️ Команда "winget" не знайдена? > Якщо ви використовуєте старішу версію Windows 10, завантажте та встановіть App Installer з офіційних релізів на GitHub (знайдіть файл
.msixbundle). -
Спосіб 2 (Ручний): Завантажте архів з офіційного репозиторію, розпакуйте його та додайте шлях до папки
binдо змінних середовища вашої системи (PATH).C:\ffmpeg\bin
-
- MacOS:
brew install ffmpeg
Встановлення та використання
1. Клонуйте репозиторій
git clone https://github.com/Vovan999222/ebany_video_bot.git
cd ebany_video_bot
2. Створіть віртуальне середовище (Рекомендовано)
python -m venv venv
# Windows:
venv\Scripts\activate
# Linux/Mac:
source venv/bin/activate
3. Встановіть залежності
Ви можете встановити бібліотеки вручну:
pip install aiogram yt-dlp mutagen
Або створіть файл requirements.txt та встановте через:
pip install -r requirements.txt
4. Налаштування
Відкрийте файл config.py та знайдіть наступний рядок:
TOKEN = "" # Вставте ваш токен від @BotFather тут
Вставте токен вашого бота всередину лапок.
5. Запустіть бота
python bot.py
Технічні деталі
- Обмеження: Бот обробляє та надсилає файли розміром до 50 МБ (обмеження Telegram Bot API).
- Відео: Налаштування
yt-dlpпримусово запитують форматbestvideo[ext=mp4][vcodec^=avc]для виключення кодеків AV1/VP9, які не підтримуються вбудованим програвачем Telegram. - Аудіо: Обробляється через
FFmpegExtractAudioз кодеком MP3.
Ліцензія
Цей проект розповсюджується за ліцензією MIT.