enigma

This repo is for a discord music bot

https://github.com/rahulgautam21/enigma

Science Score: 10.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.6%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

This repo is for a discord music bot

Basic Info
  • Host: GitHub
  • Owner: rahulgautam21
  • License: gpl-3.0
  • Language: Python
  • Default Branch: main
  • Size: 358 KB
Statistics
  • Stars: 1
  • Watchers: 3
  • Forks: 3
  • Open Issues: 6
  • Releases: 0
Created almost 4 years ago · Last pushed over 3 years ago
Metadata Files
Readme Contributing License Code of conduct Citation Security

README.md

Enigma 🤖 - A music recommender bot for Discord [![Open Source Love](https://badges.frapsoft.com/os/v3/open-source.png?v=103)](https://github.com/ellerbrock/open-source-badges/)

[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) [![DOI](https://zenodo.org/badge/533639670.svg)](https://zenodo.org/badge/latestdoi/533639670) [![Build Status](https://github.com/rahulgautam21/Enigma/actions/workflows/github-actions-build.yml/badge.svg)](https://github.com/rahulgautam21/Enigma/actions) [![GitHub Release](https://img.shields.io/github/release/rahulgautam21/Enigma.svg)](https://github.com/rahulgautam21/Enigma/releases) [![GitHub Repo Size](https://img.shields.io/github/repo-size/rahulgautam21/Enigma.svg)](https://img.shields.io/github/repo-size/rahulgautam21/Enigma.svg) [![made-with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg)](https://www.python.org/) [![GitHub contributors](https://img.shields.io/github/contributors/rahulgautam21/Enigma)](https://github.com/rahulgautam21/Enigma/graphs/contributors) [![Open Issues](https://img.shields.io/github/issues/rahulgautam21/Enigma)](https://github.com/rahulgautam21/Enigma/issues) [![Pull Requests](https://img.shields.io/github/issues-pr/rahulgautam21/Enigma)](https://github.com/rahulgautam21/Enigma/pulls) ![Supports Python](https://img.shields.io/pypi/pyversions/pytest) [![Formatting python code](https://github.com/rahulgautam21/Enigma/actions/workflows/code-formatter.yml/badge.svg)](https://github.com/rahulgautam21/Enigma/actions/workflows/code-formatter.yml) [![codecov](https://codecov.io/gh/rahulgautam21/Enigma/branch/main/graph/badge.svg?token=OEPEJ0W8CR)](https://codecov.io/gh/rahulgautam21/Enigma)

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: DISCORDTOKEN=#SECRETTOKEN

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

https://user-images.githubusercontent.com/20087273/194780603-f163caf6-2c9e-4d74-8fbd-c93f30e8935a.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

Owner

  • Name: Rahul Gautam
  • Login: rahulgautam21
  • Kind: user
  • Location: Raleigh, USA

CS Graduate student at NCSU

Citation (CITATION.md)


      

GitHub Events

Total
Last Year

Dependencies

requirements.txt pypi
  • discord.py ==2.0.1
  • numpy ==1.22.3
  • pandas ==1.4.2
  • pynacl ==1.5.0
  • pytest *
  • pytest-asyncio *
  • python-dotenv ==0.21.0
  • setuptools ==63.2.0
  • youtube_dl ==2021.12.17
  • youtube_search_python ==1.6.6
.github/workflows/code-formatter.yml actions
  • actions/checkout master composite
  • mritunjaysharma394/autoyapf v2 composite
.github/workflows/github-actions-build.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
  • codecov/codecov-action v3.1.1 composite