BeatBuddy - Music Bot

About BeatBuddy

     BeatBuddy is a Discord bot application that provides music from different sources to the voice channel that a user is currently in. The bot takes text-commands from a user, such as "//play rick astley", and performs the corresponding action to the command given. The bot can play music that is requested by a user in the voice channel that the user is currently in, and everyone else in that voice channel is able to listen to the music simultaneously. BeatBuddy can play music from YouTube keywords and video links, Spotify links, and SoundCloud links, and it also has full playlist link support from each of these sources. Furthermore, the bot also has plenty of commands, ranging from "//help", which provides everything a user needs to know in order to use the bot, all the way to "//skipto (integer)", which skips to the song in the queue at the number given in the command. BeatBuddy is available to use anytime, anywhere thanks to it being hosted on a VPS. Though the bot is open for the public to use, there are still more enhancement updates being rolled out to improve the bot and add new commands. At this time, the bot is currently being used in 22 different servers across Discord.

Project Background

     Originally, BeatBuddy was developed in December of 2021 as a locally hosted Python application with simple commands and only had support for YouTube links. However, in February of 2022, I enrolled in a software engineering class at York College of Pennsylvania in which I was required to complete an "individual project" throughout the semester. So, I decided to trash the Python code for the bot and teach myself how to program in Node.js throughout the development process, and with the help of a few dependencies (Discord.js, ytdl-core, soundcloud-scraper, etc.), I developed the bot from scratch over the next month and a half. After having significantly improved the bot's abilities, I developed a website for it while simultaneously teaching myself how to utilize HTML, CSS, and JavaScript, which can be found at www.beatbuddybot.com. Finally, I decided to deploy the code for the application to a VPS (Virtual Private Server) through Vultr in order to provide the bot with 24/7 uptime. Though I have finished the semester and made the bot fully functional, I have since added (and am still adding) new features and improvements periodically. To view the source code, simply go to the GitHub repository.