Automate saving your Discover Weekly Playlist using Python.

Overview

SpotWeekly

Automate saving your Discover Weekly Playlist using Python. Made with <3 and FastAPI.
The saved playlist link is sent to my discord server via a webhook.

Installation

Clone this repository.

git clone https://github.com/shouryade/SpotWeekly

This project uses pipenv to create a virtual environment.

pip install pipenv

Activate and install dependencies using pipenv.

cd SpotWeekly
pipenv sync 

For venv enthusiasts, I have provided a requirements.txt file to help install project dependencies.

Rename the env.example file to .env.

Setup

Registering Your Spotify App on Spotify for Developers
  • Create a Spotify Developer account.
  • Copy the Client ID and Client SECRET and paste it in the .env file.
  • Go to edit settings and set Redirect URI to http://127.0.0.1:5000/callback as shown

  • Setting up webhook for Discord
  • You need to have the create and manage webhook permissions in the server.
  • Go to Server Settings > Integrations > New Webhook
  • Fill the required values and select the channel for the webhook to be posted in.
  • Click on Copy Webhook URL
  • Paste the copied url in .env file.

  • Usage

    To get the playlist ID for your Discover Weekly, copy the link for the playlist.
    The highlighted portion as shown in the image is the Spotify Playlist ID.

    Spotify Playlist ID
    Extract the ID and paste it onto the .env file.
    Fill the remaining details in the .env file.

    Run app.py and copy the token supplied. Run main.py and supply the parameters asked.
    Check Discord once Successfully created playlist ! is printed on screen.

    Roadmap

    [ ] Create Docker instance.
    [ ] Run this as a cron job using Github Workflows.
    [ ] Create a bash script for a cron job if locally deployed.

    Contributing

    Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

    Owner
    shourya
    Learning stuff
    shourya
    Python CMR is an easy to use wrapper to the NASA EOSDIS Common Metadata Repository API.

    This repository is a copy of jddeal/python_cmr which is no longer maintained. It has been copied here with the permission of the original author for t

    NASA 9 Nov 16, 2022
    An powerfull telegram group management anime themed bot.

    ErzaScarlet Erza Scarlet is the female deuteragonist of the anime/manga series Fairy Tail. She is an S-class Mage from the Guild Fairy Tail. Like most

    ꜱōʜᴇʀᴜ ᴋāɴ (AKA) ꜱᴏʜᴀɪʟ ᴋʜᴀɴ 2 May 19, 2022
    Notification Reminder Application For Python

    Notification-Reminder-Application No matter how well you set up your to-do list and calendar, you aren’t going to get things done unless you have a re

    1 Nov 26, 2021
    Renjith Mangal 10 Oct 28, 2022
    A Discord BOT that uses Google Sheets for storing the roles and permissions of a discord server.

    Discord Role Manager Bot Role Manager is a discord BOT that utilizes Google Sheets for the organization of a server's hierarchy and permissions. Detai

    Dion Rigatos 17 Oct 13, 2022
    Send GitHub Issues, PRs or Discussions Updates to Wechat

    Send GitHub Issues, PRs or Discussions Updates to Wechat

    Hollow Man 2 Jul 12, 2022
    Shiny Wechat Pay SDK for Python

    WeChat third-party Python SDK master: Read the Documentation Features Common public platforms passively respond and actively call APIs WeChat Pay API

    Obrisk 18 Sep 05, 2022
    A collective list of free APIs for use in software and web development.

    Public APIs A collective list of free APIs for use in software and web development. A public API for this project can be found here! For information o

    222.5k Jan 02, 2023
    Discord Mafia Game Bot using nextcord

    Mafia-Bot Discord Mafia Game Bot using nextcord Features Mafia Game Game Replays Installation Run the following command to install required modules: p

    Nian 6 Nov 19, 2022
    Sentiment Analysis web app using Streamlit - American Airlines Tweets

    Analyse des sentiments à partir des Tweets L'application est développée par Streamlit L'analyse sentimentale est effectuée sur l'ensemble de données d

    Abida Hassan 2 Feb 04, 2022
    SmartFile API Client (Python).

    A SmartFile Open Source project. Read more about how SmartFile uses and contributes to Open Source software. Summary This library includes two API cli

    SmartFile 19 Jan 11, 2022
    A Python API to retrieve and read MLB GameDay data

    mlbgame mlbgame is a Python API to retrieve and read MLB GameDay data. mlbgame works with real time data, getting information as games are being playe

    Zach Panzarino 493 Dec 13, 2022
    A simple url uploader bot with permenent thumbnail support

    URL-Uploader A simple url uploader bot with permenent thumbnail support Scrapped some code from @SpEcHIDe's AnyDLBot Repository Please fork this repos

    Fayas Noushad 40 Nov 29, 2021
    Role Based Access Control for Slack-Bolt Applications

    Role Based Access Control for Slack-Bolt Apps Role Based Access Control (RBAC) is a term applied to limiting the authorization for a specific operatio

    Jeremy Schulman 7 Jan 06, 2022
    Yes, it's true :purple_heart: This repository has 353 stars.

    Yes, it's true! Inspired by a similar repository from @RealPeha, but implemented using a webhook on AWS Lambda and API Gateway, so it's serverless! If

    510 Dec 28, 2022
    Ein Bot, der Dokumente bei Studydrive möglichst immer online hält

    studydrive-altklausuren-bot Ein Bot, der Dokumente bei Studydrive möglichst immer online hält geplante Features: Multiaccount supprt: Es gibt mehrere

    henrydatei 1 Jun 04, 2022
    A powerful application to automatically deploy GitHub Release.

    A powerful application to automatically deploy GitHub Release.

    Fentaniao 43 Sep 17, 2022
    A ShareX alternative for Mac OS built in Python.

    Clipboard Uploader A ShareX alternative for Mac OS built in Python. Install and setup Download the latest release and put it in your applications fold

    Ben Tettmar 2 Jun 07, 2022
    This bot will send you an email or notify you via telegram & discord if dolar/lira parity breaks a record.

    Dolar Rekor Kırdı Mı? This bot will send you an email or notify you via Telegram & Discord if Dolar/Lira parity breaks a record. Mailgun can be used a

    Yiğit Göktuğ Budanur 2 Oct 14, 2021
    an OSU! bot sdk based on IRC

    osu-bot-sdk an OSU! bot sdk based on IRC Start! The following is an example of event triggering import osu_irc_sdk from osu_irc_sdk import models bot

    chinosk 2 Dec 16, 2021