vk_music_pyAPI

0
2 месяца назад
2 месяца назад
2 месяца назад
2 месяца назад
2 месяца назад
2 месяца назад
2 месяца назад
2 месяца назад
README.md

Переименование аудиозаписей в группе ВКонтакте

Скрипт для ручного запуска: получает первые 20 аудиозаписей группы и массово меняет название и/или исполнителя — по ID3-метаданным из локальных MP3 или по шаблону.

  • Аудио вы загружаете в группу вручную.
  • Скрипт не отслеживает загрузки автоматически, только по вашему запуску.

Требования

  • Python 3.10+
  • Токен VK с правами на управление аудио (администратор группы или сервисный ключ приложения)

Установка

  1. Клонируйте или скопируйте проект в папку.

  2. Создайте виртуальное окружение и установите зависимости:

  1. Настройте доступ к API:
  • Скопируйте файл с примером переменных окружения:
  • Откройте
    .env
    и укажите:
    • VK_TOKEN — токен доступа (сервисный ключ приложения или пользовательский с правами на аудио).
    • VK_GROUP_ID — ID группы (только цифры, например
      123456
      ).

Токен можно не класть в

.env
, а передавать в командной строке (см. раздел «Запуск»).

Запуск

Скрипт запускается вручную из корня проекта (с активированным

venv
):

Если в

.env
задан
VK_GROUP_ID
, параметр
--group-id
можно не указывать.

Режим «по ID3»

Берёт исполнителя и название из тегов ID3 локальных MP3. Файлы в папке сортируются по имени; первый файл — первый трек в списке ВК, второй — второй и т.д. (до 20 треков).

  • --folder
    — путь к папке с MP3 (порядок: по имени файла).
  • В группе должны быть уже загружены треки; скрипт не загружает файлы, только редактирует существующие.

Режим «по шаблону»

Меняет название и/или исполнителя по шаблону для каждого из первых 20 треков (используются текущие значения в ВК).

Плейсхолдеры:

  • {n}
    — номер трека (1–20)
  • {artist}
    — текущий исполнитель
  • {title}
    — текущее название

Пример: нумерация и сохранение формата «Исполнитель — Название»:

Только изменить название (исполнитель остаётся):

Если в шаблоне есть подстрока

-
(пробел-дефис-пробел), часть до неё считается исполнителем, после — названием. Иначе вся строка считается названием.

Дополнительные опции

  • --token <токен>
    — передать токен в командной строке (иначе берётся из
    VK_TOKEN
    или
    VK_ACCESS_TOKEN
    ).
  • --no-log-file
    — не создавать/не дописывать лог в файл (вывод только в консоль).

Логирование

  • В консоль выводится краткий отчёт о действиях.
  • Подробный лог пишется в
    logs/rename_audio.log
    (папка создаётся автоматически).

Обновление при изменениях VK API

При смене версии или формата API ВКонтакте:

  1. Версия API — в файле
    config.py
    измените константу
    VK_API_VERSION
    на актуальную (актуальные версии: VK API versions).
  2. Базовый URL — при смене домена API измените
    VK_API_BASE
    в
    config.py
    .
  3. Методы и параметры — правки только в модуле
    vk_audio.py
    (функции
    get_audio
    ,
    edit_audio
    и вспомогательный запрос). Остальной код (режимы id3/template, логирование) от API не зависит.

Так вы сможете быстро подстроить скрипт под новые требования API без правок логики переименования.