Com fer un bot de música per a Discord
En aquesta pàgina
Un bot de música és un bot de Discord que entra en un canal de veu i reprodueix àudio. La part del bot — ordres, una cua, un missatge amb el que sona ara — és codi de bot normal. La part difícil és l'àudio: obtenir les cançons, codificar-les i transmetre-les al canal de veu sense talls.
Aquesta guia explica les dues maneres de gestionar l'àudio, quines biblioteques encara funcionen després dels canvis de veu de Discord del 2026 i què pot i què no pot reproduir un bot de música. Si no has fet mai un bot, comença per com fer un bot de Discord.
Primer: la veu xifrada de Discord (DAVE)
Des de l'1 de març de 2026, Discord només permet trucades de veu xifrades d'extrem a extrem, mitjançant un protocol anomenat DAVE. Un bot fet amb una biblioteca que no el suporta ja no pot entrar de cap manera als canals de veu. Per això molts tutorials i repositoris antics de bots de música van deixar de funcionar.
Abans de començar, assegura't que les teves eines són prou noves:
| Biblioteca | Suport de DAVE des de |
|---|---|
| discord.py | 2.7.0, instal·lat com a discord.py[voice] |
| @discordjs/voice | 0.19, que necessita Node.js 22.12 o posterior |
| Servidor Lavalink | 4.2.0 |
| discord-player | 7.2.0 |
Dues maneres de reproduir àudio: Lavalink o FFmpeg
| Lavalink | FFmpeg dins del bot | |
|---|---|---|
| Com funciona | Un servidor d'àudio separat transmet la música; el bot li envia ordres | El mateix bot descodifica i transmet l'àudio amb FFmpeg |
| El bot necessita | Una biblioteca client de Lavalink | FFmpeg i Opus instal·lats al costat del bot |
| Escala fins a | Molts servidors alhora; un sol Lavalink pot alimentar diversos bots | Uns quants servidors abans que la CPU del bot sigui el límit |
| Ideal per a | Qualsevol bot que esperis que creixi | Aprendre, o un bot per a un sol servidor |
La majoria de bots de música públics fan servir Lavalink. Amb FFmpeg és més fàcil començar perquè només cal executar un programa.
Biblioteques client de Lavalink mantingudes
Aquests clients són a la llista oficial de Lavalink i han tingut versions el 2026 amb els canvis de veu esmentats:
- JavaScript (discord.js): lavalink-client, Shoukaku, Riffy, Moonlink.js
- Python (discord.py): Wavelink, lavalink.py, mafic, pomice
- C#: Lavalink4NET
- Java (JDA): Lavalink-Client
Cadascun es connecta a un servidor Lavalink amb un host, un port i una contrasenya, i després dona al teu bot ordres com cercar, reproduir, saltar i volum. La configuració del servidor en si s'explica a com allotjar un servidor Lavalink.
En JavaScript també hi ha discord-player, que gestiona l'àudio dins del bot. La versió actual ja no suporta YouTube; reprodueix SoundCloud, Vimeo, fitxers adjunts i enllaços de Spotify o Apple Music a través d'altres fonts.
La via FFmpeg, en unes quantes línies
Per veure que la veu funciona, reprodueix un fitxer que sigui teu. En Python, instal·la l'extra de veu i assegura't que ffmpeg és al teu sistema:
pip install "discord.py[voice]"
Després, dins d'una ordre de barra, entra al canal de qui l'ha cridada i reprodueix un fitxer local:
channel = interaction.user.voice.channel
voice = await channel.connect()
voice.play(discord.FFmpegPCMAudio("song.mp3"))
await interaction.response.send_message("Playing.")
En JavaScript l'equivalent és @discordjs/voice amb @discordjs/opus i FFmpeg. Un bot de veritat hi afegeix una cua, ordres per saltar i aturar, i surt del canal quan queda buit.
Què pot reproduir un bot de música
Aquí és on la majoria de bots de música es fiquen en problemes, així que tingues-ho clar abans de construir-lo:
- Les condicions de YouTube no permeten descarregar ni retransmetre el seu contingut sense permís, ni eludir les seves proteccions. Grans bots de música s'han tancat precisament per això.
- Les directrius de la comunitat de Discord prohibeixen compartir contingut que vulneri la propietat intel·lectual de qualsevol persona, i el propietari del bot és responsable del que fa.
- Fonts més segures: música que és teva o per a la qual tens llicència, biblioteques lliures de drets i Creative Commons, ràdios per internet que ho permetin i fitxers que els teus membres pugin amb dret a compartir-los.
Lavalink i els seus connectors tècnicament poden reproduir des de molts llocs; si tens permís per fer-ho és una altra qüestió, i et correspon a tu respondre-la.
Allotjar un bot de música
Un bot de música ha d'estar en línia i mantenir una connexió estable mentre transmet, cosa que un PC de casa amb Wi-Fi poques vegades aconsegueix durant gaire temps. A l'allotjament de bots de Discord d'HytHost:
- El bot s'executa amb l'entorn Node.js, Python, Java, Go, C# o Bun que triïs en fer la comanda.
- Lavalink és un entorn propi. S'executa com un servidor separat: contracta un pla per al bot i un altre amb l'entorn Lavalink o, en un pla amb diverses places de bot, demana'ns que en passem una a Lavalink.
- Configura el client Lavalink del bot amb l'adreça, el port i la contrasenya del servidor Lavalink, tal com es mostren al seu panell.
Com mantenir el bot en línia, amb reinici automàtic i el token en un lloc segur, s'explica a com allotjar un bot de Discord 24/7.
Executa el bot i el seu servidor Lavalink a l'allotjament de bots de Discord d'HytHost — Node.js, Python, Java, Lavalink i més, des de €0.89/mes.
Veure plans d'allotjament de botsPreguntes més freqüents
Molt probablement per la veu xifrada de Discord. Des de l'1 de març de 2026 només els clients que suporten el protocol DAVE poden entrar a trucades de veu. Actualitza a discord.py 2.7, @discordjs/voice 0.19 o Lavalink 4.2 o posterior, i a un client Lavalink actual.
No. Un bot petit pot transmetre directament amb FFmpeg. Lavalink val la pena quan el bot reprodueix en diversos servidors alhora, perquè treu la feina d'àudio al bot.
Tècnicament algunes eines encara poden, però les condicions de YouTube no permeten descarregar ni retransmetre el seu contingut sense permís, i les eines s'espatllen sovint. La música que és teva o per a la qual tens llicència és l'opció segura.
Amb discord.js, un client Lavalink com lavalink-client o Shoukaku; amb discord.py, Wavelink o lavalink.py. Tria'n un amb una versió del 2026, perquè suporti la veu xifrada de Discord.
El bot en si és lleuger; el que costa és la feina d'àudio. Amb Lavalink, dona al servidor Lavalink aproximadament 1 GB per a un bot petit (la nostra recomanació) i al bot el que necessiti sense música.
Posa en línia el teu bot de música
L'allotjament de bots de Discord d'HytHost executa el teu bot i el teu servidor Lavalink, amb una base de dades MySQL i còpies de seguretat — des de €0.89/mes.
Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hoursT'ha estat útil aquesta guia?