The Discord Music Bot That Started It All (and Still Works)
You know the drill: you're in a Discord server, someone says "play this song," and you're suddenly digging through sketchy YouTube-to-MP3 converters or running a bot that breaks every other week. Music bots are everywhere now, but they all trace back to one project—MusicBot, the original open-source Discord music bot that's been running on Python 3.8+ and discord.py since before most of today's bots existed. If you've ever wanted to host your own reliable music bot without the SaaS overhead, this is the one to look at.
What It Does
MusicBot is exactly what it sounds like: a Discord bot that plays audio into voice channels. It pulls requested songs from YouTube and other services, queues them up, and plays them for everyone in the server. The core command is simple—play <url>—which downloads, processes, and plays the track on the fly.
Under the hood, it's built with Python and the discord.py library. The architecture is straightforward: a single bot instance can serve multiple Discord servers simultaneously. When the queue is empty, it falls back to a configurable playlist of existing songs, so your server never goes silent unless you want it to. There's also a permission system baked in, letting server owners restrict who can control the music. One more thing worth noting: it can stream live media into a voice channel, though the README flags that as experimental.
The setup is refreshingly manual. You clone the repo, copy example_options.ini to options.ini, and configure from there. No docker-compose magic, no cloud dependencies—just a config file and a Python environment.
Why It's Cool
What makes MusicBot interesting isn't flashy features—it's the fact that it's been around long enough to become the reference implementation. Here's why it's worth your attention:
-
It's the original. This isn't a fork or a reimplementation. It's the project that defined what a Discord music bot should be. When you run MusicBot, you're running the codebase that countless other bots have copied or been inspired by.
-
The permission system is genuinely useful. Not every music bot lets you granularly control who can queue songs. MusicBot's permission system means you can let your friends queue tracks without letting randoms spam the queue with ear-rape memes. That's a practical feature for any server with more than a handful of active members.
-
The fallback playlist is a clever touch. Most bots just sit idle when the queue empties. MusicBot keeps the vibe going with a configurable list of songs. It's a small feature, but it shows the project was designed for real server use, not just demos.
-
It's honest about its limitations. The live streaming is labeled experimental. The setup requires manual config. There's no hand-holding. That's refreshing in a world of over-promising open-source projects. You know exactly what you're getting.
-
The code style is clean. The README shows it's formatted with Black, and the project maintains compatibility across Python 3.6 through 3.8+. That's a sign of a project that's been maintained with care over the years.
How to Try It
Getting started is about as low-friction as it gets. Head over to the MusicBot repository, clone it, and follow the setup guides linked in the README. The official docs live at just-some-bots.github.io/MusicBot.
Here's the quick version:
- Clone the repository to your machine or a VPS.
- Make sure you have Python 3.8+ (or 3.7/3.6 if you're on an older setup) and install the dependencies.
- In the
config/directory, copyexample_options.initooptions.ini. - Edit
options.iniwith your Discord bot token and server preferences. - Run the bot, invite it to your server, and start playing with
play <url>.
The full command list is documented on the project's site, and if you hit a wall, there's an active support Discord server linked in the README. The configuration file is well-commented, so you'll likely figure out most of it without touching the docs.
Final Thoughts
MusicBot isn't the most feature-packed music bot you'll find today—it's not trying to be. What it offers is a solid, battle-tested foundation that's been running for years. If you're comfortable editing a config file and running a Python script, this is a great way to get a dependable music bot for your server without relying on a third-party service that might disappear tomorrow. It's also worth a look if you're curious about how Discord bots handle audio streaming, since the codebase is approachable enough to learn from. The project might not be flashy, but it's proven, and sometimes that's exactly what you need.
Follow @githubprojects for more developer tools and open source projects.