Discord offers a great experience to connect and share with your friends. A music bot would be the prefect addition to a server to bring more to the voice chats. For that reason we decided to built a music bot that puts emphasis on user experience and comfort. From offering concise command structures to command the bot in natural language.

What it does

djBot is a lightweight music bot for Discord that is powered by search for requested songs on and have the audio streamed to the voice channel. It also offers standard music player commands such as skip song, pause/play, etc. Some of the more interesting features are the 8D filter feature (learn more about 8D), ability to play Spotify playlists from inputted URIs of the desired playlists (the songs are searched on, and a radio mode (which plays random music based upon an inputted genre or any genres).

How we built it

This bot was built on Node.js using JavaScript and a few useful open-source libraries such as Discord.js, discord-player, spotify-web-api-node.

Challenges we ran into

We faced a lot of problem with archaic async/Promise functionality with JavaScript however with great mentors we where able to better understand this framework and get over the challenges.

Accomplishments that we're proud of

We are really proud of being able to add this bot to your friends and young siblings severs and seeing it being used actively. It was definitely most fulfilling to improve people experience with Discord.

What we learned

Along with technical challenges, we also fought through differences in time zones. We came together and planned out our hacking times; we collaborated with each other despite being in completely different locations (13hr time zone difference). This is a great learning moment for us and we see this as a crucial skill in the future as remote work becomes more prevalent.

What's next for djBot

We have ambitious goal of being voice commands to the bot. We already have the ability to control this bot in natural language so it seems fitting to maximize its use with voice commands.

Built With

Share this project: