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
    Pyspark sam - Analyze Big Sequence Alignments with PySpark in AWS EMR

    pyspark_sam This repo hosts my code for the article "Analyze Big Sequence Alignm

    Sixing Huang 4 Dec 09, 2022
    “ HOLA HUMANS 👋 I'M DAISYX 2.0 „ LATEST VERSION OF DAISYX.. Source Code of @Daisyxbot

    DaisyX 2.0 A Powerful, Smart And Simple Group Manager ... Written with AioGram , Pyrogram and Telethon... The first AioGram based modified groupmanage

    TeamDaisyX 153 Dec 06, 2022
    Rotten Tomatoes API for Python

    rottentomatoes.py rottentomatoes offers an easy-to-use Python wrapper to interact with the Rotten Tomatoes API. Before you try and use the API, make s

    Zach Williams 88 Dec 15, 2022
    Spotify playlist anonymizer.

    Spotify heavily personalizes auto-generated playlists like Song Radio based on the music you've listened to in the past. But sometimes you want to listen to Song Radio precisely to hear some fresh so

    Jakob de Maeyer 9 Nov 27, 2022
    A qq bot based on nonebot2 and go-cqhttp

    Asoul-bot A qq bot based on nonebot and go-cqhttp 你可以将bot部署在本地,也可以加入bot测试群:784280070(全体禁言) 你可以通过临时会话的方式向bot发送指令,输入help获取帮助菜单 本地部署请参考:https://zhuanlan.

    11 Sep 23, 2022
    A Python wrapper around the Twitter API.

    Python Twitter A Python wrapper around the Twitter API. By the Python-Twitter Developers Introduction This library provides a pure Python interface fo

    Mike Taylor 3.4k Jan 01, 2023
    GUI Pancakeswap2 and Uniswap3 trading client (and bot)

    GUI Pancakeswap2 and Uniswap3 trading client (and bot) (MOST ADVANCE TRADING BOT SUPPORT WINDOWS LINUX MAC) (AUTO BUY TOKEN ON LUNCH AFTER ADD LIQUIDI

    16 Dec 23, 2021
    Most Advance Trading Bot Support Windows Linux Mac

    GUI Pancakeswap 2 and Uniswap 3 SNIPER BOT 🏆 🥇 (MOST ADVANCE TRADING BOT SUPPORT WINDOWS LINUX MAC) (AUTO BUY TOKEN ON LAUNCH AFTER ADD LIQUIDITY) S

    1 Dec 26, 2021
    Wrapper around the UPS API for creating shipping labels and fetching a package's tracking status.

    ClassicUPS: A Useful UPS Library ClassicUPS is an Apache2 Licensed wrapper around the UPS API for creating shipping labels and fetching a package's tr

    Jay Goel 55 Dec 12, 2022
    A collection of scripts to steal BTC from Lightning Network enabled custodial services. Only for educational purpose! Share your findings only when design flaws are fixed.

    Lightning Network Fee Siphoning Attack LN-fee-siphoning is a collection of scripts to subtract BTC from Lightning Network enabled custodial services b

    Reckless_Satoshi 14 Oct 15, 2022
    Twitter bot to know the number of dislikes of a YouTube video

    YT_dislikes is a twitter bot that allows you to know the number of dislikes (and likes) of a YouTube video. Now it is not possible to see the number o

    1 Jan 08, 2022
    Music bot because Octave is down and I can : )

    Chords On a mission to build the best Discord Music Bot View Demo · Report Bug · Request Feature Table of Contents About The Project Built With Gettin

    Aman Prakash Jha 53 Jan 07, 2023
    Your custom slash commands Discord bot!

    Slashy - Your custom slash-commands bot Hey, I'm Slashy - your friendly neighborhood custom-command bot! The code for this bot exists because I'm like

    Omar Zunic 8 Dec 20, 2022
    ✨ A Telegram mirror/leech bot By SparkXcloud Group ✨

    SparkXcloud-Gdrive-MirrorBot SparkXcloud-Gdrive-MirrorBot is a multipurpose Telegram Bot writen in Python for mirroring files on the Internet to our b

    119 Oct 23, 2022
    Cogs version of iso6.9 with the help of thatOneArchUser

    iso6.9-cogs (debloated) This is a cogs version of iso6.9 by αrchιshα#5518. iso6.9 is a Discord bot written in Python and is used to make your Discord

    Kamilla Youver 2 Jun 10, 2022
    Posts word definitions on Twitter daily

    Word Of The Day bot Post daily word definitions on social media. Twitter account: https://twitter.com/WordOfTheDay_B Introduction The goal of this pro

    Lucas Rijllart 1 Jan 08, 2022
    A telegram bot to interact with a Minecraft Server

    telegram-mc-bot A telegram bot to interact with a Minecraft Server It has the following commands: /status - Returns the server status (Online/Offline)

    KleynArt 1 Dec 09, 2021
    My personal discord bot using discord.py

    Rara-chan My personal discord bot that I use for stuff that I find interesting. Features Responds to certain messages ChatBot capabilities NHentai scr

    Mikask 3 Nov 06, 2022
    Git Plan - a better workflow for git

    git plan A better workflow for git. Git plan inverts the git workflow so that you can write your commit message first, before you start writing code.

    Rory Byrne 178 Dec 11, 2022
    TheTimeMachine - Weaponizing WaybackUrls for Recon, BugBounties , OSINT, Sensitive Endpoints and what not

    The Time Machine - Weaponizing WaybackUrls for Recon, BugBounties , OSINT, Sensi

    Anmol K Sachan 112 Dec 29, 2022