Spotifilter harnesses ChatGPT to effortlessly filter explicit tracks from your Spotify playlists, ensuring a clean and family-friendly listening experience, and is brought to you as a free-to-use, handy Telegram bot!
@spotifilter_bot
currently supports the following commands:
/filter
- Filter public Spotify playlist by ID / link./report
- Report an issue or request feature.
Spotifiler
was only tested on English-language playlists./filter
command can only accept input in the same message and not as a conversation.
In order to use Spotifilter
, one must acquire 3 types of API credentials:
- Spotify Client ID & Secret, read more here.
- GeniusLyrics Access Token, read more here.
- OpenAI API Key, read more here.
- Telegram User & Token, read more here.
Once you've acquired all the required credentials, fill these in under .env
file.
In addition, Spotifilter
makes use of multiple Python modules to enhance API capabilities against Spotify, GeniusLyrics, OpenAI and Telegram.
# (Optional - use Virtual Environment for development)
$ python -m venv .venv
$ .venv/Scripts/Activate.ps1 # PowerShell
# OR
$ source .venv/scripts/activate # bash/zsh
$ pip install -r requirements.txt
$ docker run -e SPOTIPY_CLIENT_ID=<> -e SPOTIPY_CLIENT_SECRET=<> -e GENIUS_API_KEY=<> -e OPENAI_API_KEY=<> -e TELEGRAM_TOKEN=<> -e TELEGRAM_USERNAME=spotifilter_bot -d doronkg/spotifilter:latest
See k8s.yaml for K8s object definitions.
NOTE: You should manually create a Secret and set all the required credentials listed above.
Contributions are welcome! If you encounter any bugs or have suggestions for improvements, please open an issue in the issue tracker.
This open-source project is available under the MIT License. Feel free to use, modify, and distribute it as per the terms of the license.