Skip to content

rahulgautam21/Enigma

Enigma 🤖 - A music recommender bot for Discord

Open Source Love

License: GPL v3 DOI Build Status GitHub Release GitHub Repo Size made-with-python GitHub contributors Open Issues Pull Requests Supports Python Formatting python code codecov

Report Bug · Request Feature

💡 Features

  • Recommend songs based on user input and play them on discord voice channel
  • Can be used by teams/friends to listen to the same songs together
  • Acts as an amplifier - can be used to play same music on multiple speakers to give a surround sound effect and increase volume output
  • Ability to toggle music pause/resume
  • Ability to play custom song without having to search the song on youtube
  • Ability to switch back and forth between songs

⚒️ Installation Procedure

1. Prerequisites

2. Running Code

First, clone the repository and cd into the folder:

$ git clone git@github.com:rahulgautam21/Enigma.git
$ cd Enigma

Create a .env file with the discord token info: DISCORD_TOKEN=#SECRET_TOKEN#

Join the discord channel of the bot Discord Channel of bot and connect to the voice channel.

$ pip install -r requirements.txt
$ python bot.py 

You can now use the discord bot to give music recommendations! Use /help to see all functionalities of bot.

🚀 Demo

enigma.mp4

📍RoadMap

What We've Done:

  1. Created a Discord Bot via the Discord Developer Portal.
  2. Incorporated a dataset to our application.
  3. Added functionalities to the Discord bot (explained in the Features section above.
  4. Use the Discord Bot to play music based on the user's recommendations.
  5. Can also use the Bot to play custom songs without having to search for it on YouTube.

What We've Yet To Do:

  1. Extend the application to be deployed online (via a website or an application).
  2. Make the song recommendations more sophisticated by using content-based recommendor systems.
  3. Integrating dislikes (taking into account the feedback of users) in the recommendation logic.
  4. Use web scraping and EDA to get a better database for the discord bot.
  5. Alternatively, use this as the primary data source to make better recommendations.
  6. Add some more functionality to the discord bot:
    • Move a song within a queue or to the top of the queue
    • Shuffle songs within the queue
    • Jump to a specific song in the queue
    • Replay the song (instead of going to the next song and then coming back to the previous song)

📖 Documentation

Documentation for the code available at - Enigma Docs

👥 Contributors

Group 40


Shreya Buddaiahgari

Rahul Gautam


Shubham Dua


Srilekha Gudipati


Chetana Chunduru


Vishwanatham Sarika

Contributing

Please see CONTRIBUTING for contributing to this project.

Data

The data for this project is present here

Support

For any support reach out to rahul.gautam21@gmail.com