Skip to content

The library allows developers to easily perform operations related to music and other functionalities available through the VK API.

License

Notifications You must be signed in to change notification settings

issamansur/vkpymusic

Repository files navigation

Лицензия Совместимость с Python Версия библиотеки PyPi downloads

VKpyMusic

Click here to switch to English version

VKpyMusic - это библиотека Python, которая предоставляет простой интерфейс для взаимодействия с API музыкального сервиса ВКонтакте (VK). Библиотека позволяет разработчикам легко выполнять операции, связанные с музыкой и другими функциональными возможностями, доступными через VK API.

Установка

Библиотека протестирована с Python 3.8-3.12.

  • Установка через pip (менеджер пакетов Python):

     $ pip install vkpymusic
  • Установка из исходников (требуется git):

     $ pip install git+https://github.com/issamansur/vkpymusic.git

Рекомендуется использование первого варианта.

Использование

Чтобы начать работу с VKpyMusic, вам понадобится действительный токен доступа к VK и пользовательский агент, который предоставляет доступ к API музыкального сервиса VK. Но если у вас их нет, ничего страшного - у нас есть свой собственный класс для их получения.


Использование класса TokenReceiver для получения токена и юзер-агента

Для получения токена VKpyMusic задействует класс TokenReceiver, который отвечает за выполнение авторизации с использованием доступных логина и пароля. Он предоставляет методы для обработки captcha, двухфакторной аутентификации и различных сценариев ошибок. Подробнее о работе класса здесь.

from vkpymusic import TokenReceiver

login = input("   Enter login: ")
password = input("Enter password: ")

tokenReceiver = TokenReceiver(login, password)

if tokenReceiver.auth():
    tokenReceiver.get_token()
    tokenReceiver.save_to_config()

Результат:

   Enter login: +...........
Enter password: .........
SMS with a confirmation code has been sent to your phone! The code is valid for a few minutes!
Code: 277765
Token was received!
Token was saved!


Использование класса Service

  • Для начала работы с аудио вы можете воспользоваться токеном, сгенерированным в прошлом пункте с помощью класса TokenReceiver:

     from vkpymusic import Service
     
     service = Service.parse_config()
  • Или указать свой токен и юзер-агент:

     service = Service("<your_client>", "<your_token>")

Подробнее о работе класса здесь

Получить информацию о песнях текущего пользователя

Следующий код пытается получить 10 треков пользователя. Обратите внимание, что в качестве первого аргумента принимается только ID пользователя (не username)! Если аудиозаписи пользователя закрыты, вызывается исключение VkApiException: VK API Error 201: Access denied.

user_songs = service.get_songs_by_userid(123456789, 10)

Поиск треков по запросу

songs = service.search_songs_by_text("Radiohead no surprises", 5)

Получить популярные треки

songs = service.get_popular(count=50, offset=0)

Сохранить трек локально

songs = service.search_songs_by_text("Radiohead no surprises", 5)
Service.save_music(songs[0])
# или
service.save_music(songs[0])


Полный пример

from vkpymusic import Service, TokenReceiver

login = input("   Enter login: ")
password = input("Enter password: ")

tokenReceiver = TokenReceiver(login, password)

if tokenReceiver.auth():
    tokenReceiver.get_token()
    tokenReceiver.save_to_config()

service = Service.parse_config()
tracks = service.search_songs_by_text('Radiohead no surprises')
Service.save_music(tracks[0])

Документация

Детальная документация и примеры использования для VKpyMusic находится на официальной странице GitHub:

Вклад и поддержка

Если у вас есть какие-либо предложения по улучшению VKpyMusic или вы обнаружите какие-либо проблемы, пожалуйста, создайте новую проблему на странице проекта GitHub. Мы приветствуем ваши запросы на исправления и готовы помочь вам с любыми проблемами, с которыми вы столкнетесь.

Лицензия

VKpyMusic распространяется под лицензией MIT. За более детальной информацией о лицензии обратитесь к файлу LICENSE.

Авторы

VKpyMusic разрабатывается @issamansur или/и командой 'EDEXADE, inc.'

About

The library allows developers to easily perform operations related to music and other functionalities available through the VK API.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published