🎵 YTMusic Playlist Karıştırıcı (Shuffle) - Python Script

YTMusic API ile oluşturulmuş açık kaynak bir otomasyon aracı

🔎 Ne İşe Yarar?

Bu script, YouTube Music çalma listenizi otomatik olarak karıştırır, yedekler ve tekrar çalma listesine yükler. Aynı şarkılardan oluşan sıralı listeleri yeniden düzenlemek isteyenler için birebirdir.

📂 Özellikler

💾 Dosyayı İndir

📥 YTMusic_Playlist_Shuffle.py dosyasını indir

🛠️ Nasıl Kullanılır?

  1. YTMusic_Playlist_Shuffle.py dosyasını indirin:
    Sayfanın üst kısmındaki “Dosyayı İndir” butonuna tıklayarak scripti bilgisayarınıza kaydedin.

  2. Scripti ilk kez çalıştırın:
    Betiği bir kez çalıştırdığınızda bulunduğu dizine config.ini dosyası otomatik olarak oluşturulacaktır.

  3. Playlist ID’nizi girin:
    config.ini dosyasını bir metin düzenleyici ile açın ve aşağıdaki örneğe benzer şekilde useid alanına playlist ID’nizi girin:

    [settings]
    useid = PL_3hP_qBiiUJzr6bXUmbQjPKJW2WdeCzM


    Dosyayı kaydedin ve kapatın.

  4. Yetkilendirme dosyası (oauth.json):
    (https://github.com/sigma67/ytmusicapi/discussions/682#discussioncomment-13334547)

  5. Scripti çalıştırın:
    Artık her şey hazır! Scripti başlattığınızda:
    • Mevcut çalma listeniz yedeklenir,
    • Şarkılar rastgele karıştırılır,
    • Önceki yedek silinir,
    • Ve karışık şarkı listesi yeniden playlist’e eklenir.
    Tüm işlem günlük olarak YTMusic_PlaylistMix.log dosyasına yazılır.

🧠 Kaynak Kod Önizlemesi

""" Bu betik, YTMusic API kullanarak belirtilen bir çalma listesindeki şarkıları yedekler ve karıştırır. Aşağıdaki işlemleri gerçekleştirir: - Config ve yedek dosyalarını (`config.ini` ve `yedek.ini`) yoksa oluşturur, varsa mevcut dosyaları yönetir. - Çalma listesindeki şarkıları aynı sıralamayla yeni bir yedek listeye aktarır (her ihtimale karşı yeni bir playlist oluşturularak yedeklenir). - Önceki yedeği (`silinecekid`) varsa siler. - Çalma listesinde aynı şarkılar birden fazla kez bulunuyorsa, sadece tek bir kopyası kalacak şekilde temizler (aynı `videoId`'ye sahip olanlar teke düşürülür). - `yedek.ini` dosyasında son 7 yedek girişini (yedek1–7) saklayarak yedek geçmişini korur. - Şarkı listesini rastgele karıştırır ve orijinal playlisti güvenli bir şekilde temizler (hata toleranslı silme sistemiyle). - Yeniden ekleme işlemini hata yönetimi ile gerçekleştirir; örneğin 409 gibi yaygın hatalarda otomatik olarak yeniden dener. - HTTP isteklerinde hata oluşmaması için otomatik yeniden deneme (`Retry`) mekanizması uygular. - İşlem adımlarını log dosyasına (`YTMusic_PlaylistMix.log`) sırayla kaydeder. - Toplam işlem süresini okunabilir formatta kullanıcıya sunar (örneğin: 1d 25s). Güvenlik, hata yönetimi ve kayıt tutma özellikleri sayesinde tam otomatik bir çalma listesi yedekleme ve karıştırma sistemi sağlar. """ import random import configparser from ytmusicapi import YTMusic from datetime import datetime import os, time import json from requests.adapters import HTTPAdapter from urllib3.util.retry import Retry import requests # İşlem süresini ölçmek için zamanlayıcı başlatılıyor start_time = time.time() # Betik dizinini al script_dir = os.path.dirname(os.path.abspath(__file__)) # Dosya yollarını al; # YTMusic oturumu başlat oauth_path = os.path.join(script_dir, "oauth.json") # Config dosyasının adını belirleyelim config_file = os.path.join(script_di # ... Devamı dosyada