Cómo crear un bot de música para Discord
En esta página
Un bot de música es un bot de Discord que entra en un canal de voz y reproduce audio. La parte del bot — comandos, una cola, un mensaje de «sonando ahora» — es código de bot normal. Lo difícil es el audio: obtener las pistas, codificarlas y transmitirlas al canal de voz sin cortes.
Esta guía explica las dos formas de gestionar el audio, qué librerías siguen funcionando tras los cambios de voz de Discord en 2026 y qué puede y qué no puede reproducir un bot de música. Si nunca has creado un bot, empieza por cómo crear un bot de Discord.
Primero: la voz cifrada de Discord (DAVE)
Desde el 1 de marzo de 2026, Discord solo permite llamadas de voz con cifrado de extremo a extremo, mediante un protocolo llamado DAVE. Un bot basado en una librería que no lo admite ya no puede entrar en canales de voz. Por eso dejaron de funcionar muchos tutoriales y repositorios antiguos de bots de música.
Antes de empezar, asegúrate de que tu stack es lo bastante reciente:
| Librería | Compatible con DAVE desde |
|---|---|
| discord.py | 2.7.0, instalado como discord.py[voice] |
| @discordjs/voice | 0.19, que requiere Node.js 22.12 o superior |
| Servidor Lavalink | 4.2.0 |
| discord-player | 7.2.0 |
Dos formas de reproducir audio: Lavalink o FFmpeg
| Lavalink | FFmpeg en el bot | |
|---|---|---|
| Cómo funciona | Un servidor de audio aparte transmite la música; el bot le envía comandos | El propio bot decodifica y transmite el audio con FFmpeg |
| El bot necesita | Una librería cliente de Lavalink | FFmpeg y Opus instalados junto al bot |
| Escala hasta | Muchos servidores a la vez; un Lavalink puede dar servicio a varios bots | Unos pocos servidores antes de que la CPU del bot sea el límite |
| Ideal para | Cualquier bot que esperes que crezca | Aprender, o un bot para un solo servidor |
La mayoría de los bots de música públicos usan Lavalink. FFmpeg es más sencillo para empezar porque solo hay un programa que ejecutar.
Librerías cliente de Lavalink con mantenimiento
Estos clientes están en la lista oficial de Lavalink y han publicado versiones en 2026 con los cambios de voz anteriores:
- JavaScript (discord.js): lavalink-client, Shoukaku, Riffy, Moonlink.js
- Python (discord.py): Wavelink, lavalink.py, mafic, pomice
- C#: Lavalink4NET
- Java (JDA): Lavalink-Client
Cada uno se conecta a un servidor Lavalink con un host, un puerto y una contraseña, y le da a tu bot comandos como buscar, reproducir, saltar y volumen. La configuración del servidor se explica en cómo alojar un servidor Lavalink.
En JavaScript también existe discord-player, que gestiona el audio dentro del bot. Su versión actual ya no admite YouTube; reproduce SoundCloud, Vimeo, archivos adjuntos y enlaces de Spotify o Apple Music a través de otras fuentes.
El método FFmpeg, en pocas líneas
Para ver la voz en funcionamiento, reproduce un archivo que sea tuyo. En Python, instala el extra de voz y asegúrate de que ffmpeg está en tu sistema:
pip install "discord.py[voice]"
Después, dentro de un comando de barra, entra en el canal de quien lo invoca y reproduce un archivo local:
channel = interaction.user.voice.channel
voice = await channel.connect()
voice.play(discord.FFmpegPCMAudio("song.mp3"))
await interaction.response.send_message("Playing.")
En JavaScript el equivalente es @discordjs/voice con @discordjs/opus y FFmpeg. Un bot real añade una cola, comandos para saltar y detener, y sale del canal cuando se queda vacío.
Qué puede reproducir un bot de música
Aquí es donde la mayoría de los bots de música se meten en problemas, así que tenlo claro antes de construir el tuyo:
- Los términos de YouTube no permiten descargar ni retransmitir su contenido sin permiso, ni eludir sus protecciones. Grandes bots de música han sido cerrados justo por esto.
- Las normas de la comunidad de Discord prohíben compartir contenido que infrinja la propiedad intelectual de cualquiera, y el propietario del bot es responsable de lo que hace.
- Fuentes más seguras: música propia o con licencia, bibliotecas libres de derechos y Creative Commons, radios por internet que lo permitan y archivos que tus miembros suban con derecho a compartirlos.
Lavalink y sus plugins pueden reproducir técnicamente desde muchos sitios; si tienes permiso para hacerlo es otra cuestión, y te corresponde a ti responderla.
Alojar un bot de música
Un bot de música necesita estar online y mantener una conexión estable mientras transmite, algo que un PC doméstico con Wi-Fi rara vez consigue durante mucho tiempo. En el hosting de bots de Discord de HytHost:
- El bot se ejecuta en el runtime de Node.js, Python, Java, Go, C# o Bun que elijas al hacer el pedido.
- Lavalink es un runtime propio. Funciona como un servidor aparte: contrata un plan para el bot y otro con el runtime de Lavalink o, en un plan con varios slots de bot, pídenos que pasemos uno de ellos a Lavalink.
- Apunta el cliente de Lavalink del bot a la dirección, el puerto y la contraseña del servidor Lavalink, tal como aparecen en su panel.
Cómo mantener el propio bot online, con reinicio automático y el token en un lugar seguro, se explica en cómo alojar un bot de Discord 24/7.
Ejecuta el bot y su servidor Lavalink en el hosting de bots de Discord de HytHost — Node.js, Python, Java, Lavalink y más, desde €0.89/mes.
Ver planes de hosting de botsPreguntas frecuentes
Lo más probable es que sea por la voz cifrada de Discord. Desde el 1 de marzo de 2026 solo los clientes compatibles con el protocolo DAVE pueden entrar en llamadas de voz. Actualiza a discord.py 2.7, @discordjs/voice 0.19 o Lavalink 4.2 o superior, y a un cliente de Lavalink actual.
No. Un bot pequeño puede transmitir directamente con FFmpeg. Lavalink compensa cuando el bot reproduce en varios servidores a la vez, porque quita al bot el trabajo del audio.
Técnicamente algunas herramientas todavía pueden, pero los términos de YouTube no permiten descargar ni retransmitir su contenido sin permiso, y esas herramientas fallan a menudo. La música propia o con licencia es la opción segura.
Con discord.js, un cliente de Lavalink como lavalink-client o Shoukaku; con discord.py, Wavelink o lavalink.py. Elige uno con una versión de 2026, para que sea compatible con la voz cifrada de Discord.
El bot en sí es ligero; lo que consume es el audio. Con Lavalink, dale al servidor Lavalink alrededor de 1 GB para un bot pequeño (nuestra recomendación) y al bot lo que necesitaría sin música.
Pon tu bot de música online
El hosting de bots de Discord de HytHost ejecuta tu bot y tu servidor Lavalink, con base de datos MySQL y copias de seguridad — desde €0.89/mes.
Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hours¿Te ha resultado útil esta guía?