Бот скачивает аудиотреки из VK и отправляет их в Telegram.
Просто отправьте боту ссылку на трек — и получите MP3 файл прямо в чате.
Вы → боту: https://vk.com/audio-2001856263_135856263
Бот → вам: 🎵 kizaru, ICEGERGERT — Fake ID [аудиофайл]
pip install requestsОпционально — ffmpeg для лучшего качества MP3:
# Windows
winget install ffmpeg
# Linux / macOS
sudo apt install ffmpeg # или brew install ffmpegVK токен:
- Перейдите на vkhost.github.io
- Выберите Kate Mobile и нажмите «Разрешить»
- Из адресной строки скопируйте токен — это часть URL между
access_token=и&expires_in
Telegram токен:
- Напишите @BotFather в Telegram
- Отправьте
/newbotи следуйте инструкциям - Скопируйте токен вида
1234567890:AAH...
python vk_tg_bot.pyПри запуске бот спросит токены:
Введите токен VK: vk1.a.xxxxx
Введите токен TG: 1234567890:AAH...
TG бот: @your_bot_name
Бот запущен. Ctrl+C для остановки
Напишите боту в Telegram ссылку на трек из VK:
https://vk.com/audio-2001856263_135856263
Бот скачает трек и пришлёт его как аудиофайл. Поддерживается любой публичный трек VK — даже чужой, не из вашего плейлиста.
Команды:
/start— приветствие и инструкция
Прямой доступ к аудио VK через API ограничен. Бот обходит это через следующую схему:
1. Пользователь присылает ссылку в Telegram
↓
2. Бот вызывает VK API: messages.send (отправляет трек себе в избранное)
↓
3. VK Longpoll перехватывает сообщение — в нём уже есть живая ссылка на MP3
↓
4. Бот скачивает аудио (через ffmpeg или склейку HLS-сегментов)
↓
5. Отправляет MP3 пользователю в Telegram
↓
6. Удаляет сообщение из избранного VK (messages.delete)
VK отдаёт аудио в формате HLS (.m3u8 плейлист → .ts сегменты). Бот склеивает сегменты в один MP3 файл. Если установлен ffmpeg — используется он, это даёт лучшее качество и совместимость.
Бот корректно обрабатывает параллельные запросы. Каждый запрос сохраняется в словаре pending:
pending = {
"audio_key": tg_chat_id # кому вернуть результат
}Когда приходит трек из VK — бот знает, какому именно пользователю его отправить.
| Компонент | Версия |
|---|---|
| Python | 3.10+ |
| requests | любая свежая |
| ffmpeg | опционально |
- Файлы больше 50 МБ Telegram не принимает — бот сообщит об этом
- Токен VK может протухнуть если вы смените пароль или выйдете со всех устройств
- Треки, недоступные в вашем регионе, скачать не получится
vk_tg_bot.py — основной файл бота
README.md — этот файл
MIT