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
    A Happy and lightweight Python Package that Provides an API to search for articles on Google News and returns a JSON response.

    A Happy and lightweight Python Package that Provides an API to search for articles on Google News and returns a JSON response.

    Muhammad Abdullah 273 Dec 31, 2022
    High-Resolution Differential Z-Belt Mod for V0 (with optional Kirigami support)

    V0-DBM This is a high-resolution differential pulley system belt mod for the Z-axis on Voron 0 with optional Kirigami Bed support. NOTE: Alpha version

    Simon Küppers 11 Jan 07, 2023
    Telegram Userbot built with Pyrogram

    Pyrogram Userbot A Telegram Userbot based on Pyrogram This repository contains the source code of a Telegram Userbot and the instructions for running

    Athfan Khaleel 113 Jan 03, 2023
    Leveraged grid-trading bot using CCXT/CCXT Pro library in FTX exchange.

    Leveraged-grid-trading-bot The code is designed to perform infinity grid trading strategy in FTX exchange. The basic trader named Gridtrader.py contro

    Hao-Liang Wen 25 Oct 07, 2021
    The wrapper you need for the osu!api v2

    oppy (op.py) oppy is the wrapper for use on the osu! v2 API. Version 1.0.0 Installation To install please use pip to install oppy pip install op.py To

    Wayde 2 May 01, 2022
    A project that alerts me when there's a dog outside so I can go look at it.

    Dog Detector A project that alerts me when there's a dog outside so I can go look at it. Tech Specs This script uses the YOLOv3 object detection model

    rydercalmdown 58 Jul 29, 2022
    fhempy is a FHEM binding to write modules in Python language

    fhempy (BETA) fhempy allows the usage of Python 3 (NOT 2!) language to write FHEM modules. Python 3.7 or higher is required, therefore I recommend usi

    Dominik 27 Dec 14, 2022
    Telegram bot to stream videos in telegram Voice Chat for both groups and channels

    Telegram bot to stream videos in telegram Voice Chat for both groups and channels. Supports live steams, YouTube videos and telegram media. Supports scheduling streams, recording and many more.

    Akki ThePro 2 Sep 11, 2022
    Python package for Calendly API v2

    PyCalendly Python package to use Calendly API-v2. Installation Install with pip $ pip install PyCalendly Usage Getting Started See Getting Started wi

    Lakshmanan Meiyappan 20 Dec 05, 2022
    A modular Telegram group management bot running with Python based on Pyrogram.

    A modular Telegram group management bot running with Python based on Pyrogram.

    Jefanya Efandchris 1 Nov 14, 2022
    A Discord bot for viewing any currency you want comfortably.

    Dost Dost is a Discord bot for viewing currencies. Getting Started These instructions will get you a copy of the project up and running on your local

    Baran Gökalp 2 Jan 18, 2022
    A community Billy vs SNAKEMAN bot

    BvS Bot A discord bot built for the Billy vs SNAKEMAN community! Dependencies An installation of Python 3.9.x with ssl compiled. The following pip pac

    Neopolitan 2 May 10, 2022
    A Advanced Powerful, Smart And Intelligent Group Management Bot With New And Powerful Features

    Vegeta Robot A Advanced Powerful, Smart And Intelligent Group Management Bot With New And Powerful Features ... Written with Pyrogram and Telethon...

    ⚡ CT_PRO ⚡ 9 Nov 16, 2022
    A Slash Commands Discord Bot created using Pycord!

    Hey, I am Slash Bot. A Bot which works with Slash Commands! Prerequisites Python 3+ Check out. the requirements.txt and install all the pakages. Insta

    Saumya Patel 18 Nov 15, 2022
    ignorant allows you to check if a phone number is used on different sites like snapchat, instagram.

    Ignorant For BTC Donations : 1FHDM49QfZX6pJmhjLE5tB2K6CaTLMZpXZ ignorant does not alert the target phone number ignorant allows you to check if a phon

    Palenath 513 Dec 31, 2022
    Roaster - this gui app + program bundle roasts.

    Roaster - this gui app + program bundle roasts.

    Harsh ADV) 1 Jan 04, 2022
    Projeto de estudantes do primeiro período do CIn - UFPE voltado para a criação de um sistema interativo no fechamento da disciplina IF669 - Introdução a Programação.

    Projeto Game: Dona da Lua Alunos: Beatriz Férre Clara Kenderessy Matheus Silva Rafael Baltar Roseane Oliveira Samuel Marsaro Sinopse O Cebolinha apron

    Maria Clara Kenderessy 5 Dec 20, 2021
    A simple and stupid Miinto API wrapper

    miinto-api-wrapper Miinto API Wrapper is a simple python wrapper for Miinto API. Miinto is a fashion luxury marketplace. For more information see the

    Giuseppe Checchia 3 Jan 09, 2022
    💻 A fully functional local AWS cloud stack. Develop and test your cloud & Serverless apps offline!

    LocalStack - A fully functional local AWS cloud stack LocalStack provides an easy-to-use test/mocking framework for developing Cloud applications. Cur

    LocalStack 45.3k Jan 02, 2023
    Discord Bot that leverages the idea of nested containers using podman, runs untrusted user input, executes Quantum Circuits, allows users to refer to the Qiskit Documentation, and provides the ability to search questions on the Quantum Computing StackExchange.

    Discord Bot that leverages the idea of nested containers using podman, runs untrusted user input, executes Quantum Circuits, allows users to refer to the Qiskit Documentation, and provides the abilit

    Mehul 23 Oct 18, 2022