Переезжал с Яндекс.Музыки на Spotify и заодно написал штуку для переноса плейлистов
Решил наконец перебраться на Spotify.
Плейлистов много, переносить руками - неделя жизни. Сервисы переноса просят логин от аккаунта на левом сайте. Пароль отдавать непонятно кому не хотелось.
В итоге сел и написал бота. Кидаешь ссылку на плейлист - получаешь готовый в Spotify. Без паролей. Порядок треков сохраняется.
Пока делал, столкнулся с кучей всего:
- Spotify в режиме разработки пускает только заранее внесённых людей. Пришлось сделать одного служебного бота, который создаёт плейлисты у себя, а ты добавляешь их к себе.
- Лимиты запросов нигде не прописаны. Сделал очередь и кэш, чтобы популярные треки искались один раз.
- Яндекс поменял формат ссылок, старая библиотека их не понимает. Пришлось читать через API напрямую.
- ВК закрыл аудио API. Долго выкручивался через список текстом, потом всё-таки доделал нормальный перенос по ссылке.
Треки ищутся сначала по ISRC, потом по названию и исполнителю с проверкой длительности, в крайнем случае нечёткое сравнение.
Стек: Python, aiogram 3, SQLAlchemy, SQLite, httpx, rapidfuzz.
Если кому надо - бот тут: @TrackShift_Ru_bot