Skip to content

A Telegram powered queue system for Spotify - Letting users add their own music.

License

Notifications You must be signed in to change notification settings

HumaneWolf/telegram-spotify-queue

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Telegram Spotify Queue

This is a Telegram bot that uses the Spotify playback API to allow users to queue songs via Telegram.

Features

  • Keeps track of the queue, and starts the next song on time.
  • Allows users to search for songs by sending a message - before they confirm it and queue it.

To do / ideas

  • Clean up Spotipy, maybe just write our own API wrapper.
    • I started using it as it was listed on the Spotify API Documentation. Turns out the version on PIP does not seem to be up to date..
  • Blacklisting users
  • User rate limiting
  • Simple HTTP API exposing whether it is playing, queue size, and what song it is playing.
  • A way to remote control the queue:
    • Remove songs
    • Skip songs
    • etc.

Setting it up

  1. Install Python 3.7.
  2. Install pipenv.
  3. Run pipenv sync to install dependencies.
  4. Create the config.ini file, and add a Telegram bot token, and the Spotify OAuth info.
    • You can get the bot token by creating a bot using @BotFather on Telegram.
    • You can get the Spotify OAuth info by creating an application on the Spotify Developer Portal.
  5. Run the bot.

The first time you run it, it will open a Spotify login page in your browser. Log in, then copy/paste the resulting link into the terminal window running the bot, and press enter. This is not required when running the bot again later.

You might need to start playing music on the desired Spotify device manually, so that Spotify identifies it as the active device.

About

A Telegram powered queue system for Spotify - Letting users add their own music.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages