A Python script to update Spotify Playlist data every 5 minutes.

Overview

Spotify Playlist Updater

A Python script to update Spotify Playlist data every 5 minutes.

Description

An automatic playlist updater using Spotify API and Authorization code flow in Python to update a Playlist on a repeating time interval.

Getting Started

You will need Python to execute the script:

Spotify Playlist Updater requires three dependencies:

Pip
  • A Package Management System for Python.
  • Installation Link
  • For Windows, you can run py -m ensurepip --upgrade in CMD to install.
Schedule
  • Python job scheduler to run the script on a timer.
  • Installation Link
  • For Windows, you can run -m pip install schedule --upgrade in CMD to install.
A Web Domain
  • No website required, only a web domain for redirecting the API request and retrieving the user authorization token.
  • If you don't already own a domain, you can create one at https//wix.com
Spotipy
  • Python library for the Spotify Web API
  • Installation Link
  • For Windows, you can run py -m pip install spotipy --upgrade in CMD to install.

Set Up

Installing the Script
  • Install the dependencies listed above.
  • Choose a location on your device (I'll refer to this as the working directory)
  • Download the latest release of spotify-playlist-updater to the working directory.
  • Save your playlist photo (if applicable) in the data folder of the working directory
Set up Client ID, Client Secret and Redirect URI
  • Login to Spotify Developer Account
    • Go to https://developer.spotify.com/dashboard/ and click Manage Dashboard.
    • Then, sign in with your Spotify credentials and accept the latest Developer terms of service.
    • Note your Client ID, and Client Secret.
  • Create an App
    • In the Developer Dashboard, create an App. You can put whatever you'd like for the App name and description.
    • Click Edit Settings.
      • Add your domain address to the Redirected URI's field, and click Add. Make sure to Save.
Adding your Playlist information
  • Right click \spotify-playlist-updater.py from the working directory, and select "Edit with IDLE"
    • Put your Playlist Image path in place of: "C:\\Users\\You\\YourWorkingDirectory\\Data\\PlaylistPhoto.jpeg"
    • Put your Spotify Username in place of: 'username'
    • Put your Client ID in place of 'clientid'
    • Put your Client Secret in place of 'clientsecret'
    • Put your Web Domain Address in place of 'http://yourdomain.com'
    • Put your Spotify Playlist Link in place of 'https://open.spotify.com/playlist/yourplaylist'
    • Put your Playlist Description in place of 'Playlist Name'
    • Put your Playlist Description in place of 'Playlist Description'
  • Save the script once your changes are made.

Running the Script

  • Right click spotify-playlist-updater.py and Open.
  • The script updates the Playlist every 5 minutes. You can adjust the update frequency by changing the number value for schedule.every(5).minutes.do(func)
  • The script will restart if it runs into a timeout to prevent it from failing during an internet hiccup.
    • If you have an unstable internet connection and run into issues, try removing the continue statement.

Thank you

If you enjoyed my project, please feel free to leave tips on my Ko-Fi. https://ko-fi.com/autumntillman or Paypal.

Help

  • If you get an error that "Read timed out. (read timeout=5)", restart the script.
  • If your script doesnt get past "Starting Playlist Updater", run the script using IDLE:
    • Right click spotify-playlist-updater and click Edit with IDLE
    • Click F5 to run the script
      • Let the script run. Any errors will be listed as the script encounters them.

To report issues, create a new issue on Github or email [email protected]

Authors

Aeriie on GitHub

Version History

  • 0.1
    • Initial Release
Free and Open Source Group Voice chat music player for telegram ❤️ with button support youtube playback support

Free and Open Source Group Voice chat music player for telegram ❤️ with button support youtube playback support

Sehath Perera 1 Jan 08, 2022
discord.py bot written in Python.

bakerbot Bakerbot is a discord.py bot written in Python :) Originally made as a learning exercise, now used by friends as a somewhat useful bot and us

8 Dec 04, 2022
Fastest Pancakeswap Sniper BOT TORNADO CASH 2022-V1 (MAC WINDOWS ANDROID LINUX)

Fastest Pancakeswap Sniper BOT TORNADO CASH 2022-V1 (MAC WINDOWS ANDROID LINUX) ⭐️ AUTO BUY TOKEN ON LAUNCH AFTER ADD LIQUIDITY ⭐️ ⭐️ Support Uniswap

Crypto Trader 7 Jan 31, 2022
Download videos from Youtube and other platforms through a Telegram Bot

ytdl-bot Download videos from YouTube and other platforms through a Telegram Bot Usage: https://t.me/benny_ytdlbot Send link from YouTube directly to

Telegram Bot Collection 289 Jan 03, 2023
Telegram Bot Repo Capable of fetching the following Info via Anilist API inspired from AniFluid and Nepgear

Telegram Bot Repo Capable of fetching the following Info via Anilist API inspired from AniFluid and Nepgear Anime Airing Manga Character Scheduled Top

Rikka-Chan 2 Apr 01, 2022
Automatically compile an AWS Service Control Policy that ONLY allows AWS services that are compliant with your preferred compliance frameworks.

aws-allowlister Automatically compile an AWS Service Control Policy that ONLY allows AWS services that are compliant with your preferred compliance fr

Salesforce 189 Dec 08, 2022
A python script that changes our background based on current weather and time of the day.

Desktop background on Windows 10, based on current weather and time A python script that changes our background based on current weather and time of t

Maj Gaberšček 1 Nov 16, 2021
Python bindings to the Syncthing REST interface.

python-syncthing Python bindings to the Syncthing REST interface. Python API Documentation Syncthing Syncthing REST Documentation Syncthing Forums $ p

Blake VandeMerwe 64 Aug 13, 2022
A comand-line utility for taking automated screenshots of websites

shot-scraper A comand-line utility for taking automated screenshots of websites For background on this project see shot-scraper: automated screenshots

Simon Willison 837 Jan 07, 2023
The Encoder Bot For Python

The_Encoder_Bot Configuration Add values in environment variables or add them in config.env.example and rename file to config.env. Basics API_ID - Get

8 Jan 01, 2022
A Python package that can be used to download post and comment data from Reddit.

Reddit Data Collector Reddit Data Collector is a Python package that allows a user to collect post and comment data from Reddit. It is built on top of

Nico Van den Hooff 3 Jul 26, 2022
An advanced Filter Bot with nearly unlimitted filters!

Unlimited Filter Bot ㅤㅤㅤㅤㅤㅤㅤ ㅤㅤㅤㅤㅤㅤㅤ An advanced Filter Bot with nearly unlimitted filters! Features Nearly unlimited filters Supports all type of fil

1 Nov 20, 2021
Group Chat Spammer For Discord

Group Chat Spammer For Discord Free and public gc spammer

Dreamy 20 Dec 27, 2022
Python script to replace BTC adresses in the clipboard with similar looking ones, whose private key can be retrieved by a netcat listener or similar.

BTCStealer Python script to replace BTC adresses in the clipboard with similar looking ones, whose private key can be retrieved by a netcat listener o

Some Person 6 Jun 07, 2022
A Simple, LightWeight, Statically-Typed Python3 API wrapper for GogoAnime.

AniKimi API A Simple, LightWeight, Statically-Typed Python3 API wrapper for GogoAnime The v2 of gogoanimeapi (depreciated) Made with JavaScript and Py

17 Dec 09, 2022
A Discord Bot for the Pygame Community Server

PygameCommunityBot The Pygame Community Discord bot The bot is capable of doing a lot of stuff, the command prefix is pg!. For help on all the bot com

PygameCommunityDiscord 23 Nov 30, 2022
A GETTR API client written in Python.

GUTTR A GETTR client library written in Python. I rushed to get this out so it's a bit janky. Open an issue if something is broken or missing. Getting

Roger Johnston 13 Nov 23, 2022
VC-Music , Playing music without bot.

VC-Userbot A Telegram Userbot to play or streaming Audio and Video songs / files in Telegram Voice Chats. It's made with PyTgCalls and Pyrogram Requir

RioProjectX 8 Aug 04, 2022