A really easy way to display your spotify listening status on spotify.

Overview

Spotify playing README

A really easy way to display your spotify listening status on READMEs and Websites too!

Demo

Here's the embed from the site.

Spotify playing

Customized card, with theming

Spotify playing

Security notice

NOTE: As a security notice, We declare that, we're not storing the sensitive tokens, We just store the access tokens securely, used for generating temporary refresh tokens, and getting just the status data, with only read permissions and scopes. You can check it in the configuration file for the scopes.

URL Parameters

  • id: Your spotify ID
  • theme: The card theme
  • image: If cover image to be included
  • color_theme: The color theme for the Card
  • bars_when_not_listening: If bars should be shown when not listening
  • bg_color: The BG color for the card
  • title_color: The title color for the card
  • text_color: The text color for the card
  • hide_status: If the status for song should be shown.

NOTE: You can generate the card easily by visiting the panel. Check the repo description link for it.

Setting up the development environment

Install the dependencies

The project uses pipenv for dependencies. Here's how to install the dependencies.

pipenv sync -d

Setting up spotify

  • Go to the developer panel at spotify. Panel URL
  • Make an APP, Specify the name, and description.
  • Add http://localhost:5000/callback to the URLs
  • Take a note of the Client ID, and Client Secret for setting up .env

Setting up Firebase

  • Go to the firebase panel.
  • Make a new project, and setup as a Web SDK and enable it.
  • Go to Settings, and the web apps section, and copy the config, and keep a note.
  • Then go to the Services account tab, then the Database secrets, select the Database we're using and copy the API.
  • Copy the domain from Realtime Database section in left, after initializing it.

Setting up .env

Configure the environmental variables by renaming the .env.example file to .env with the respective values for it.

Here's the info about the variables

  • BASE_URL: This is the basic URL for local dev, set it to localhost:5000
  • SPOTIFY_CLIENT_ID: This is the spotify client ID.
  • SPOTIFY_SECRET_ID: This is the Spotify Secret.
  • FB_API_KEY: This is the API key for firebase, from Database secrets.
  • FB_DOMAIN: This is the domain from Realtime Database section.
  • FB_PROJECT_ID: This is the Project ID from normal firebase config.
  • FB_STORAGE_BUCKET: The storage bucket from the normal firebase config.
  • FB_MESSAGING_ID: The messaging ID from normal firebase config.
  • FB_DATABASE_URL: The database URL from firebase config.

Once done, Run the server using pipenv run start! It should boot up at localhost:5000! Enjoy!

TODOs Planned

There are several things planned for this project. Here are the TODOs, Kept public for reference, and transparent-ness.

  • FAQ
    • How to contribute
    • How to add a theme
    • How to work with options
    • Adding more features
    • Customization
  • Improve the current themes
  • Add more themes
  • Add more customization options
    • Previews when customizing the card
    • Allow customizing Background and font color ( Will be redeveloped, with all security issues fixed )
    • Marquee show
    • Display bars when not listening.
    • Allow linking to your profile along with the link.
    • Color Theme
    • Abiltiy to Hide status
    • HTML Image tag generation
    • Add same color to either of the text / title, if either of them is left empty, so the color pallet is fine.

🀝 Contributing

Contributions, issues and feature requests are welcome. After cloning & setting up project locally, you can just submit a PR to this repo and it will be deployed once it's accepted.

⚠️ It’s good to have descriptive commit messages, or PR titles so that other contributors can understand about your commit or the PR Created. Read conventional commits before making the commit message.

πŸ’¬ Get in touch

If you have various suggestions, questions or want to discuss things wit our community, Join our discord server!

Discord

Show your support

We love people's support in growing and improving. Be sure to leave a ⭐️ if you like the project and also be sure to contribute, if you're interested!

Inspired by Novatorem

Made by Sunrit Jana with ❀️
Owner
Sunrit Jana
Already starting to fulfil my goals! In love with Machines, python and C++ and more! Life is all about ups and downs, Wins and loses. Never be disappointed.
Sunrit Jana
A repository for 8G server's discord bot

8G Discord-Bot A general-purpose discord bot for the 8G Discord-Server To setup: Create a new file called secrets.py and make it look like this TOKEN=

1 Jan 12, 2022
Discord bot that automatically fills out health screenings

Auto Covid Bot Automatically fill out the NYC DOE health screening form by registering with a discord bot School code can be found on https://schoolse

Cleo 2 Jul 29, 2022
Python SDK for Thepeer

Python SDK for Thepeer

Oluwafemi Tairu 2 Dec 22, 2021
Client to allow skytrack to be used with GSPro Golf simulator application

Skytrack Interface for GSPro A Basic Interface connection from Skytrack Launch Monitors to be able to play simulator golf via GSPro About The Project

James Peruggia 2 Oct 24, 2021
An anime themed telegram bot that can convert telegram media.

ShoukoKomiRobot β€’ π•Žπ•£π•šπ•₯π•₯π•–π•Ÿ π•€π•Ÿ Python3 β€’ π•ƒπ•šπ•“π•£π•’π•£π•ͺ π•Œπ•€π•–π•• Pyrogram β€’ π•Šπ• π•—π•₯𝕨𝕒𝕣𝕖 π•Œπ•€π•–π•• Ebook-convert Deploy π”½π• π•£π•œ π•₯π•™π•šπ•€ 𝕣

25 Aug 14, 2022
A bot created with Python that interacts with GroupMe

GroupMe_Bot This is a bot I'm working on a small groupme group I'm in. This is something I'll work on in my spare time. Nothing but just a fun little

0 May 19, 2022
Just a python library to make reddit post caching easier

Reddist Just a python library to make reddit post caching easier. Caching Options In Memory Caching Redis Caching Pickle Caching Usage Installation: D

Samrid Pandit 3 Jan 16, 2022
Connects to a local SenseCap M1 Helium Hotspot and pulls API Data.

sensecap_api_checker_HELIUM Connects to a local SenseCap M1 Helium Hotspot and pulls API Data.

Lorentz Factr 1 Nov 03, 2021
First Party data integration solution built for marketing teams to enable audience and conversion onboarding into Google Marketing products (Google Ads, Campaign Manager, Google Analytics).

Megalista Sample integration code for onboarding offline/CRM data from BigQuery as custom audiences or offline conversions in Google Ads, Google Analy

Google 76 Dec 29, 2022
Yes, it's true :two_hearts: This repository has 316 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
Make low level API wrapper in fast, easy.

The lowrapper is a library for quickly and easily creating an environment for tapping the API without implementation.

tasuren 1 Oct 25, 2022
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
Django3 web app that renders OpenWeather API data ☁️☁️

nz-weather For a live build, visit - https://brandonru.pythonanywhere.com/ NZ Openweather API data rendered using Django3 and requests β˜€οΈ Local Run In

Brandon Ru 1 Oct 17, 2021
Telegram Radio - A User-bot who continuously play random audio files (from the famous telegram music channel @mveargasm) in the intended voice chat.

MvEargasmDJ: This is my submission for the Telegram Radio Project of Baivaru. Which required a userbot to continiously play random audio files from th

eyaadh 24 Nov 12, 2022
A Python module for communicating with the Twilio API and generating TwiML.

twilio-python The default branch name for this repository has been changed to main as of 07/27/2020. Documentation The documentation for the Twilio AP

Twilio 1.6k Jan 05, 2023
An Open Source ALL-In-One Telegram RoBot, that can do lot of things.

URL Uploader Bot An Open Source ALL-In-One Telegram RoBot, that can do lot of things. My Features Installation The Easy Way You can also tap the Deplo

NT BOTS 1 Oct 23, 2021
Seth Userbot with python

SETH-USERBOT DEPLOY TO HEROKU Group Support: String Session : Stay Support πŸš€ ❁ LonamiWebs and Telethon Β© Credits ⚑ THANK YOU VERY MUCH FOR zeinzo Zei

seth 4 Jan 10, 2022
This is a simple unofficial async Api-wrapper for tio.run

Async-Tio This is a simple unofficial async Api-wrapper for tio.run

Tom-the-Bomb 7 Oct 28, 2022
This repository will (hopefully) always contain the latest version of the libProfessorP.asm.so shared object.

libPuhfessorP - Deploy Repo This repo should (hopefully) always contain the latest version of the libPuhfessorP.asm.so shared object, to be linked wit

Puhfessor P - CPSC 240 3 Sep 30, 2021
A discord account nuker with lots of tools that will destroy a discord account

A discord account nuker with lots of tools that will destroy a discord account (token destroyer... and much more).

firexi 10 Apr 28, 2022