Skip to content
Β 
Β 

Repository files navigation

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
If you want to get added to the music server on discord to test the bot, drop an email to spriyad2@ncsu.edu

Features added by Group 17

  • Added a new data set [this](https://www.kaggle.com/datasets/saurabhshahane/music-dataset-1950-to-2019) which has approximately 24000 songs
  • Added a new functionality to shuffle the songs within the queue
  • Added a new functionality to add a custom song to the queue
  • Fixed the issue of fetching songs from Youtube
  • Extended the application to be deployed on Microsoft Azure

βš’οΈ 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

πŸš€ Demo 2 - Group 17

Demo.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.
  6. Extend the application to be deployed online (via a website or an application).
  7. Alternatively, use this as the primary data source to make better recommendations.
  8. Added some more functionality to the discord bot:
    • Add a custom song to the queue
    • Shuffle songs within the queue

What We've Yet To Do:

  1. Make the song recommendations more sophisticated by using content-based recommendor systems.
  2. Integrating dislikes (taking into account the feedback of users) in the recommendation logic.
  3. Use web scraping and EDA to get a better database for the discord bot.
  4. Add some more functionality to the discord bot:
    • Move a song within a queue or to the top of 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 17


Sneha Madle

Yugalee Patil


Chirrag Nangia


Saswat Priyadarshan

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 spriyad2@ncsu.edu

About

This repo is for a discord music bot

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages