A music bot joins a voice channel and streams audio into it. The Discord side of that is stable and well documented. Everything upstream of it — where the audio comes from — is not, and that is the entire reason music bots have a reputation for stopping working.
What it actually needs to run
A voice connection, an encoder, and a source. The encoder is an external program your bot calls to turn audio into the format Discord wants; it has to be present in the environment, not just listed as a dependency.
The source is the fragile part. Extractors that pull audio from public sites are in a constant race with those sites changing, so a bot that worked in March stops in April without a line of your code changing.
What it costs you
| Resource | Reality |
|---|---|
| Memory | 1–2 GB is a realistic starting point, not 512 MB |
| Processor | Encoding audio is genuine ongoing work |
| Bandwidth | Continuous while playing, per voice connection |
| Your time | The extractor library will need updating repeatedly |
The best-known ones stopped after legal requests from the platforms whose content they streamed. That history is worth knowing before you build a public music bot: the technical problem is solvable and the position it puts you in is the part that ended those projects. A bot for your own private server is a different proposition from one you advertise.
If you are going to run one anyway
- Budget the memory honestly
Audio buffers are the largest thing your bot will hold. Sizing it like a command bot is how you get a bot that dies in the middle of a song.
- Keep the extractor library updated
This is not optional maintenance. Expect to update it more often than everything else combined.
- Handle the disconnect cases
Empty channel, moved to another channel, kicked from voice, stream ends unexpectedly. Every one of these happens and a bot that ignores them ends up silently occupying a channel.
- Prefer sources you are allowed to use
Self-hosted files, licensed streams, or a radio stream that permits it. Fewer legal questions and considerably fewer breakages.
If what you want is music in your server, using something maintained by someone else is a legitimate answer. Building your own is worth doing when you want to learn, or want something specific — not as the cheapest route to background music.