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
TwitterBot-ImageCollector - Twitter bot that collects images from likes saves the image

TwitterBot-ImageCollector Bot de Twitter que recolecta imagenes a partir de los

Gx3 Studios 4 Jun 01, 2022
The accompanying code for the paper "GMAT: Global Memory Augmentation for Transformers" (Ankit Gupta and Jonathan Berant).

GMAT: Global Memory Augmentation for Transformers This repository contains the accompanying code for the paper: "GMAT: Global Memory Augmentation for

Ankit Gupta 7 Oct 21, 2021
My telegram bot to download Instagram Profiles

Instagram Profile Get for Telegram My telegram bot to download Instagram Profiles First you have to get a telegrm bot api key from @BotFather Then you

Ali Yoonesi 2 Sep 22, 2022
A Discord bot made by QwertyIsCoding

QwertyBot QwertyBot A Discord bot made by QwertyIsCoding Explore the docs » View Demo . Report Bug . Request Feature About The Project This Discord bo

4 Oct 08, 2022
Telegram Bot for generating and decoding QR-codes

Telegram openqrgen_bot Telegram Bot that generates from user's messages and decodes QR-codes from photos. Also contains rickroll detection :) Just typ

2 Nov 14, 2021
A CLI tool to transfer, sync, and backup playlists on music streaming services

unitunes A command-line interface tool to manage playlists across music streaming services. Introduction unitunes manages playlists across streaming s

Victor Tao 50 Jan 07, 2023
A Telegram Bot for adding Footer caption beside main caption of Telegram Channel Messages.

Footer-Bot A Telegram Bot for adding Footer caption beside main caption of Telegram Channel Messages. Best for Telegram Movie Channels. Made by @AbirH

Abir Hasan 35 Jan 02, 2023
Materials for the AMS 2022 Student Conference Python Workshop.

AMS 2022 Student Conference Python Workshop Let's talk MetPy! Here you will find a collection of notebooks we will be demonstrating and working throug

Unidata 4 Dec 13, 2022
API which uses discord+mojang api to scrape NameMC searches/droptime/dropping status of minecraft names, and texture links

API which uses discord+mojang api to scrape NameMC searches/droptime/dropping status of minecraft names, and texture links

2 Dec 22, 2021
TwitchAccountMaker - Twitch Account Maker with python

Twitch Account Creator A Twitch Account Creator, Requires Capmonster.cloud Verif

vanis / 1800 0 Jan 20, 2022
Python API for Photoshop.

Python API for Photoshop. The example above was created with Photoshop Python API.

Hal 372 Jan 02, 2023
Use Seaborn to visualize interpret the byte layout of Solana account types

solana-account-vis Use Seaborn to visually interpret the byte layout of Solana account types Usage from account_visualization import generate_account_

Jarry Xiao 15 Aug 25, 2022
Herramienta para transferir eventos de Sucuri WAF hacia Azure Data Tables.

Transfiere eventos de Sucuri hacia Azure Data Tables Script para transferir eventos del Sucuri Web Application Firewall (WAF) hacia Azure Data Tables,

CSIRT-RD 1 Dec 22, 2021
This bot can mention members upto 10,000 in groups and can mention members upto 200 in channels !

Mention All Bot This bot can mention members upto 10,000 in groups and can mention members upto 200 in channels ! 🏷 Infomation Language: Python. Tele

Anjana Madu 52 Dec 29, 2022
A robust, low-level connector for the Discord API

Bauxite Bauxite is a robust, low-level connector for the Discord API. What is Bauxite for? Bauxite is made for two main purposes: Creating higher-leve

1 Dec 04, 2021
A Telegram AntiChannel bot to ban users who using channel to send message in group

Anti-Channel-bot A Telegram AntiChannel bot to ban users who using channel to send message in group. BOT LINK: Features: Automatic ban Whitelist Unban

Jigar varma 36 Oct 21, 2022
Simple library for logging to Loggly

#Hoover A python wrapper used to hit the Loggly. API For more information on Hoover see http://wiki.loggly.com/hooverguide ##Install With this git rep

Hoover Loggly 34 May 19, 2021
Python Dialogflow CX Scripting API (SCRAPI)

Python Dialogflow CX Scripting API (SCRAPI) A high level scripting API for bot builders, developers, and maintainers. Table of Contents Introduction W

Google Cloud Platform 39 Dec 09, 2022
A bot that downloads all the necessary files from WeLearn and lists your assignments, filter due assignments, etc.

Welearn-bot This is a bot which lets you interact with WeLearn from the command line. It can Download all files/resources from your courses and organi

Parth Bibekar 17 Oct 19, 2022