Skip to content

MatthieuThib/Spotib0t

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎵 What is Spotib0t ?

Spotibot is a bot for discord. It is build in python using discord.py library.
The idea is to interact with Spotib0t to get musical data about a song or an artist.


💬 Chatbot

Using regular expressions, Spotib0t is able to detect an artist name or a song title in some patterns. Then, it fetchs data from the spotify API by calling spotipy library functions. Spotib0t can get you:

  • The singer of a track
  • The lasts albums of an artist
  • The top tracks of an artist
  • The related artists of an artist
  • Information about a spotify user

💡 Recommendation system

As mentionned before, The spotify API provides an endpoint to get the related artists of an artist, but it is based on the uses of spotify user so it is not very personnal. That's why we build a specific recommendation system for Spotib0t. Using a spotify dataset about music features, we were able to set up a kmeans clustering algorithm to find similar tracks.

🔎 Commands

The prefix of Spotib0t is $ but you can change it in main.py.

  • $join -> Spotib0t logs in
  • $quit -> Spotib0t logs out
  • $gif -> Spotib0t gets you a gif from giphy (gif_name)
  • $del -> Spotib0t deletes the last messages (number_of_messages)

📌 Examples

Get Spotify user informations You can get the followers of a spotify user just by tiping the username. The user can be an artist as well as a regular spotify user.


Get singer of a track You can get the singer of a track just by asking to Spotib0t:


Get an artist's top tracks You can get the current top tracks of an artist by asking to Spotib0t:


Get an artist's last albums Spotib0t can get you the last albums of an artist:


Get an artist recommendation Using the spotify API related artists endpoint, Spotib0t can get you similar artists:


Get track recommendations With a kmeans clustering on a spotify dataset, Spotib0t can get you similar tracks:


Video How to add Spotib0t and live examples


👏 Contributors